我试图连接到远程服务器,并在我的线程发送登录消息:的Java NIO连接到插座
@Override
public void run() {
try {
address = new InetSocketAddress(host, port);
incomingMessageSelector = Selector.open();
socketChannel = SocketChannel.open();
socketChannel.configureBlocking(false);
socketChannel.connect(address);
socketChannel.register(incomingMessageSelector, SelectionKey.OP_READ);
serverManager.loginToServer();
}
}
的登录服务器()是将消息发送到服务器疗法,但我的方法继续收到:
java.nio.channels.NotYetConnectedException
如何在发送此loginServer()方法之前检查并等待连接?
我建议你最初实施使用阻塞NIO。它更简单,可以做你想做的事。注意:在NIO中,默认行为是阻止的。 –