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