非同期接続でクライアント アプリを実装しようとしています。SocketChannel
サーバーへの接続に失敗したオブジェクトを再利用できるかどうかを知りたいです。
SocketChannel channel = SocketChannel.open();
channel.configureBlocking(false);
InetSocketAddress addr = new InetSocketAddress(host, port);
SelectionKey key = channel.register(select, SelectionKey.OP_READ, connection);
channel.connect(addr);
これが選択ループの後、接続が失敗したため、ソケットが最終的に選択されます。そのチャネルで別の接続試行をキューに入れたいのですが、何もしていないようです。メソッドはchannel.isConnectionPending()
常に true を返します (finishConnect を試みても)
これを取り除きSocketChannel
、新しいものを作成する唯一の解決策はありますか?