2016-05-03 12 views
0

クライアントとサーバーを正しく作成しましたが、タイムアウト機能の実装に問題があります。 5秒間クライアントから何も入力がない場合は、クライアントに通知する必要があります。 要求を待つことが残りのプログラムと同時に行われるように、この問題にどのように取り組んでいますか?タイムアウトのあるTCPサーバー/クライアント

BufferedReader inFromClient = new BufferedReader( 
      new InputStreamReader(connectionSocket.getInputStream())); 
... 
String clientMove = inFromClient.readLine(); 
//this is where I wait 5 seconds of a response 

ありがとうございます!

答えて

0

Socket.setSoTimeout()を使用してSocketTimeoutExceptionをキャッチしますが、なぜそのメッセージがクライアントに送信されますか?クライアントが迷惑なタイムアウトメッセージで何をすべきか?それは本当にそれを聞いていますか?それとも、それは送信されるはずのメッセージを送信するのに忙しいでしょうか?

+0

私はクライアントを閉鎖するはずがありません。私はちょうど活動の不足を検出すると思われます。クライアントに通知する必要はありませんが、引き続き接続を続ける必要があります。 – user287474

+0

私はクライアントを閉じることについて何も言わなかった。 – EJP

+0

申し訳ありませんが、ソケットを閉じる@EJP – user287474

関連する問題