我正在用Java实现服务器客户端应用程序。
情况是客户端向服务器发送了一些消息,而服务器可能会也可能不会响应(发回一些消息)。
看看这个is = new DataInputStream(client.getInputStream());
现在我正在使用is.readUTF();
方法取回消息。
问题是readUTF是一个阻塞调用,它会在该位置停止程序以接收消息。
正如我所说的那样,服务器可能会响应也可能不会响应,因此我需要一种方法来停止readUTF方法停止程序(检查是否有消息),如果没有收到消息,则继续执行下去。
最佳答案
使用DataInputStream.available()
检查是否要读取数据,并按照here所述用InputSteam
包装套接字的PushbackInputStream
。
关于java - 如何检查readUTF方法是否具有某些要接收的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39853760/