qq_40634961
2019-02-25 21:09NIO中的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并不能实时的到每次写入的长度,请问怎么解决
- 点赞
- 回答
- 收藏
- 复制链接分享
0条回答
为你推荐
- java nio scoket的连接问题
- java
- 0个回答
- java NIO 多线程
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- 关于NIO的疑问,NIO是单线程的,如果后台有比较耗时的操作,别的客户端不就连不进来了?
- 企业应用
- 0个回答
- 为什么我使用niosocket写了一个客户端,不能正常返回。
- android
- 0个回答
- java nio SelectionKey isWritable为什么一直是true
- 企业应用
- 0个回答
换一换