2016-12-31 2 views
-3

javaのソケットがメッセージを受け取らない場合、いくつかのタスクを実行します。しかし、私はsocket.accept()がメッセージを受け取るまで待つと思う。 以下は、私がこの目的のために書いたコードです。ソケットがメッセージを受け取らない場合の条件の設定

while (true) { 
       clientSocket = serverSocket.accept(); 
       is = new DataInputStream(clientSocket.getInputStream()); 
       message = is.readLine(); 
       check=0; 
       if (message != null) { 
        System.out.println("recieved :" + message); 
        if (message.contains("Dead")) { 
         System.out.println("Player is Dead"); 

        else{ 
         System.out.println("akakak"); 
        } 

       } 
       else{ 
      // the code here should run if the socket does not receive any message 
        System.out.println("noeoeo"); 
       } 

      } 
+0

http://alvinalexander.com/blog/post/java/how-set-timeout-time-out-java-socket-client – ajb

答えて

0

私はそれがメッセージを受信するまでsocket.accept()が待機していると思います。

ServerSocket.accept()ブロックが着信接続を受信するまで。あなたが探しているのはSocket.setSoTimeout()SocketTimeoutExceptionです。

// The code here should run if the socket does not receive any message 

readLine()リターンはピアが切断されている、とあなたは同じことを行う必要がありますヌル場合。 noeoeoの代わりに印刷します。

関連する問題