Java 如果套接字未收到消息,则设置条件
如果我的java套接字没有收到任何消息,我想执行一些任务。但是我认为socket.accept会等到它收到一条消息。 下面是我为此编写的代码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
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