-5
public TcpClientChannelSelector(String ip, int port) throws IOException
{
socketChannel = SocketChannel.open();
socketChannel.configureBlocking(false);
socketChannel.socket().connect(new InetSocketAddress(ip, port),5000);
readBuffer = ByteBuffer.allocate(BUFF_SIZE);
writeBuffer = ByteBuffer.allocate(BUFF_SIZE);
isConnected = false;
registerChannel(socketChannel, SelectionKey.OP_CONNECT | SelectionKey.OP_READ);
}
タイムアウトを設定するときにノンブロッキングモードを設定できないことを理解できますか? タイムアウトを設定すると、Selector snoopが失敗します。 –
しかし、今私はそれを非ブロックに設定し、タイムアウトを聞きたいのですが、どうすればいいのですか?... –
相互に不一致な目的の間に*決定する必要があります。ノンブロッキングモードに設定した場合、ブロックされませんので、タイムアウトの問題はありません。タイムアウトが必要な場合は、ブロッキングモードを使用します。私はすでにこれをすべて述べてきました。私はあなたが「セレクタ」スヌープで何を意味しているのか、なぜ私がすでに答えている質問を私に聞いているのか分かりません。 – EJP