【Java.NIO】NIO就绪处理之OP_ACCEPT

来源:互联网 发布:淘宝网店如何刷钻 编辑:程序博客网 时间:2024/06/05 21:17

转自: http://blog.csdn.net/zhouhl_cn/article/details/6582420


OP_ACCEPT的处理与OP_CONNECT基本一样,服务端监听,并注册OP_ACCEPT事件后,就已准备好接受客户端的连接了

[java] view plaincopy
  1. ServerSocketChannel ssc = ServerSocketChannel.open();  
  2. ssc.configureBlocking(false);  
  3. ssc.socket().bind(new InetSocketAddress(port));  
  4. channel.register(selector, SelectionKey.OP_ACCEPT);  

当一个客户端连接到来时,OP_ACCEPT事件就绪。

[java] view plaincopy
  1. if (key.isValid() && key.isAcceptable()) {  
  2.     ServerSocketChannel ssc = (ServerSocketChannel) key.channel();  
  3.     SocketChannel ch = ssc.accept();  
  4.     if (ch != null) {  
  5.         ch.configureBlocking(false);  
  6.         SelectionKey sk = ch.register(selector, SelectionKey.OP_READ);  
  7.     }  
  8. }  

0 0
原创粉丝点击