NIO socket服务器注意的几点.
???? 当你看到这篇文章的时候,也许是像我一样,以经用google搜了一大堆socket的例子运行调试成功了.但是在实际应用中有几点需要注意的地方.要不然你的服务器还是一大堆的bug.
?
1.注册读事件.
?????客户端第刚链接过来的时候注册一次读事件.
???? 已后就是在每次写完数据之后再去注册读事件.
?
2.注册写事件.
???? 每次处理过逻辑之后,注册写事件,然后把要返回的结果socketChannel.write(responseLineBuffer)写出去.
?
3.在读数据的时候注意.
?
?
?
?
//注销写事件key.interestOps(key.interestOps()&~SelectionKey.OP_WRITE);//注销读事件key.interestOps(key.interestOps()&~SelectionKey.OP_READ); key.cancel(); //客户端关闭判断. int count = socketChannel.read(requestLineBuffer);if (count <= -1) { close();
?
?
?
1 楼 freepig 2008-12-09 让MINA去做这些事情吧 2 楼 liudeh_009 2012-07-25 总结得很好