【发布时间】:2009-04-01 21:10:33
【问题描述】:
使用 SocketChannel 时,需要保留读写缓冲区来处理部分写入和读取。
我怀疑在使用 DatagramChannel 时可能不需要它,但信息很少。
故事是什么?
我是否应该反复调用(非阻塞)receive(ByteBuffer),直到我得到一个空值来读取所有等待的数据报?
在非阻塞模式下发送时,我可以依靠 send(ByteBuffer, SocketAddress) 发送整个缓冲区还是完全拒绝它,还是需要保留部分写入的缓冲区?
【问题讨论】: