私はセレクターなどを使用していません。私は単純なServerSocketChannelリスニングとSocketChannelブロッキングモードでの接続を持っています。接続にタイムアウトを課したいのですが、うまくいきSocketChannel.socket().setSoTimeout()ません。
バックグラウンド スレッドを 30 秒間スリープさせ、変数がまだあるかどうかを確認しようとしましたがnull(その変数への読み取りを待機するのをブロックするため)、匿名のローカル変数にアクセスできなかったため、変数を適切に同期できませんでしたクラス。
これを達成する他の方法はありますか?
更新:質問の言い方が間違っています。また、接続自体だけでなく、読み取り操作にもタイムアウトを設定したいと考えています。