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

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


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

[java]  view plain copy
  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 plain copy
  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. }  

你可能感兴趣的:(java.nio)