Java 如果套接字未收到消息,则设置条件

Java 如果套接字未收到消息,则设置条件,java,multithreading,sockets,networking,Java,Multithreading,Sockets,Networking,如果我的java套接字没有收到任何消息,我想执行一些任务。但是我认为socket.accept会等到它收到一条消息。 下面是我为此编写的代码 while (true) { clientSocket = serverSocket.accept(); is = new DataInputStream(clientSocket.getInputStream()); message = is.readLine

如果我的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");
                }

            }
我认为socket.accept会一直等到收到消息

否。ServerSocket.accept会一直阻塞,直到收到入站连接。您正在查看的是Socket.setSoTimeout和SocketTimeoutException

否。如果readLine返回null,则对等方已断开连接,您也应该这样做。而不是打印noeoeo

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