java nio客户端问题

ligengyong2010 2013-10-16 02:53:44
我编写了一个java nio服务器和客户端,在客户端连到服务器的时候,服务器直接给客户端发送两个报文
客户端处理代码如下:
while(running) {
selector.select();

Iterator <SelectionKey> keys =selector.selectedKeys().iterator();
while(keys.hasNext())
{
SelectionKey key = keys.next();
int bytesRead=0;
if(key.isReadable()){
bytesRead =((SocketChannel) key.channel()).read(readBuffer);

}
if (bytesRead > 0) {
执行操作
}

selector.selectedKeys().remove(key);
}
}
问题是为什么 我只能收到一个报文呀
...全文
389 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
漏扫老司机 2013-10-16
  • 打赏
  • 举报
回复
DEBUG 一下
  • 打赏
  • 举报
回复
debug看readBuffer的内容是如何变化的就行了。
关山路遥 2013-10-16
  • 打赏
  • 举报
回复
引用 2 楼 fangmingshijie 的回复:
发送数据缓存区和接收数据缓存区都要clear()和flip()。
在代码操作里面已经做了clear和flip
  • 打赏
  • 举报
回复
发送数据缓存区和接收数据缓存区都要clear()和flip()。
soton_dolphin 2013-10-16
  • 打赏
  • 举报
回复
需要清除BUFFER。 selector.selectedKeys().remove(key); buffer.clear()

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧