日期:2014-05-20  浏览次数:20865 次

java nio byteBuffer与READ事件
现在出现一个问题:
c++ 客户端启动时向Server 发送一个结构体,服务端可以正确读取并解析,
但是客户端在向服务端发送一个结构体时,不断地触发Read事件,不断的调用读取函数,,这是怎么回事??

因为byteBuffer我是用了一个成员变量(主要是让buf 可以重用,不使用局部的),后来在read(buf) 之前加了 buf.clear() ,
就没有在不断地触发Read事件,,,是怎么回事?,,,与buf.clear()有关系吗,,
------解决方案--------------------
与buf.clear()有关系
read(buf)的时候,buf的剩余容量不够读取,这样就会导致你会一直触发读事件。
------解决方案--------------------
1楼说的有道理。