イベントによってクライアントと通信する可能性はありますか? つまり:
私はクライアントを接続しました、InputStreamReader
そしてPrintWriter
in = new BufferedReader(new InputStreamReader(
client.getInputStream()));
out = new PrintWriter(client.getOutputStream(), true);
サーバーを使用するin.readLine()
と、受信データを待ちます。しかし、私はこの状況を持っています:
- クライアントはデータを送信しませんでした
- 接続はまだ有効です
- クライアントにデータを送信する必要があります (ただし、
in.readLine()
プロセスはまだハングしています)。応答を待つ必要があります。
質問は次のとおりです。非同期に受信するデータを処理する最善の方法は何ですか? 「イベント」のようなものを意味します。読み取り用のスレッドと書き込み用の別のスレッドを作成する必要がありますか? 1 つのスレッドで実行できる場合は、コードの例を教えてください。を待って中止することは可能in.readLine()
ですか?