如果我在一端的socket一次写比较多的字节如102400,在另一端用SocketChannel.read(ByteBuffer dst)方法(不管我ByteBuffer 空间分配多少)读取上面socket写的字节,它一次都只会读去一定的字节,然后在下次读取中继续读取剩余的字节,如此反复,直到把上面socket写的所有字节读完,有没有什么办法使我用SocketChannel.read(ByteBuffer dst)读取时能把另一端写入的字节数全部读完??

解决方案 »

  1.   

    汗,最近我也被nio和socket难住了```
      

  2.   

    我也遇到这个问题了
    我是在服务端读一个文件,然后通过Channel将ByteBuffer写到客户端,然后在客户端读服务端,但是现在一个问题是客户端不知道服务端什么时候把数据传完,而且他读取的ByteBuffer顺序也不确定,请高手现身!