NIO中的SocketChannel多次write之后 用read如何做到区分多次的数据

例如socketChannel.write(ByteBuffer) buteBuffer的长度可能随时变更,但是接收的时候read方法是以一个固定的长度接收的

发送方

byte[] outData = new byte[2048];
ByteBuffer outByteBuffer = ByteBuffer.wrap(outData);
toWriteNrBytes = 获取数据返回一个长度;
outByteBuffer.limit(toWriteNrBytes);
socketChannel.write(outByteBuffer);

接收方

byte[] inData = new byte[2048];
ByteBuffer inByteBuffer = ByteBuffer.wrap(inData);
readNrBytes = socketChannel.read(inByteBuffer);

可是这个readNrBytes并不能实时的到每次写入的长度,请问怎么解决

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问