If you aren't using prefix mode then you cannot assume that messages will arrive as a single event. You should expect messages to be split or merged.
If there is a different character that separates messages, such as new line character, then you can use AsyncStreamsText.
B4XBytesBuilder can be useful as well. It will allow you to collect the pieces and then find full messages, based on some logic that you will supply.