// 打开选择器
sc = SocketChannel.open(address);
// 设置非阻塞
sc.configureBlocking(false);
// 将SocketChannel对象注册到指定Selector
sc.register(selector, SelectionKey.OP_CONNECT);
上面的第3行我的理解是。 设置该选择器 sc 对 SocketChannel 的连接事件感兴趣。
但是执行下面的代码 却返回0 (不是连接超时)
selector.select()。
- 当我注册通道时。 不添加对连接事件感兴趣select方法返回值就是正确的。 : sc.register(selector, SelectionKey.OP_READ); 我想知道是为何会出现这个状况, 主要是原因。