NIO就绪处理之OP_CONNECT

Posted zhouhl_cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NIO就绪处理之OP_CONNECT相关的知识,希望对你有一定的参考价值。

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

SocketChannel channel = SocketChannel.open();
channel.configureBlocking(false);
channel.connect(addr);
channel.register(selector, SelectionKey.OP_CONNECT);

连接操作要分两步完成,首先就是调用connect(),然后在连接就绪时调用finishConnect(),该方法返回true表示连接成功。
if (key.isValid() && key.isConnectable()) 
    SocketChannel ch = (SocketChannel) key.channel();
    if (ch.finishConnect()) 
        // Connect successfully
        // key.interestOps(SelectionKey.OP_READ);
     else 
        // Connect failed
    



以上是关于NIO就绪处理之OP_CONNECT的主要内容,如果未能解决你的问题,请参考以下文章

NIO就绪处理之OP_ACCEPT

NIO就绪处理之OP_ACCEPT

NIO就绪处理之OP_WRITE

NIO就绪处理之OP_WRITE

java nio之selector

NIO相关概念之Selector