BufferedReader.readLine()
がハングしないようにする方法はありますか?クライアントは、任意の入力を提供してきました場合BufferedReader.readLine()がハングしないようにするにはどうすればよいですか?
- チェック:
私は、サーバーを作成しています。
- そうでない場合は、他のコードを実行し、最終的にクライアントに入力をチェックするようにループバックします。
readLine()
を実行せずにクライアントが入力を配信したかどうかを確認するにはどうすればよいですか? readLine()
を実行すると、スレッドは入力が配信されるまでハングしますか?
なぜですか?ブロッキングI/Oを使用している場合は、サーバーごとにクライアントごとに個別の読み取りスレッドが必要です。 – EJP
ユーザーごとに2つのスレッドを作成する必要はありません。私はすでに各ユーザーに対して1つのスレッドを持っています。 – Cin316
これはJavaのI/Oライブラリの不幸な現実です。 1)読み取り用に別のスレッドをスピンアップ 2)NIOライブラリを使用する 3)readLine()を使用せず、独自のバッファリングと行末管理を自分で実行してください – creechy