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

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


连接就绪是所有就绪选择中最简单的,对它的处理也很简单。当客户端调用connect()并注册OP_CONNECT事件后,连接操作就会就绪。

[java]  view plain copy
  1. SocketChannel channel = SocketChannel.open();  
  2. channel.configureBlocking(false);  
  3. channel.connect(addr);  
  4. channel.register(selector, SelectionKey.OP_CONNECT);  

连接操作要分两步完成,首先就是调用connect(),然后在连接就绪时调用finishConnect(),该方法返回true表示连接成功。
[java]  view plain copy
  1. if (key.isValid() && key.isConnectable()) {  
  2.     SocketChannel ch = (SocketChannel) key.channel();  
  3.     if (ch.finishConnect()) {  
  4.         // Connect successfully  
  5.         // key.interestOps(SelectionKey.OP_READ);  
  6.     } else {  
  7.         // Connect failed  
  8.     }  
  9. }  

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