我正在用Java实现服务器客户端应用程序。
情况是客户端向服务器发送了一些消息,而服务器可能会也可能不会响应(发回一些消息)。



看看这个

is = new DataInputStream(client.getInputStream());

现在我正在使用is.readUTF();方法取回消息。

问题是readUTF是一个阻塞调用,它会在该位置停止程序以接收消息。
正如我所说的那样,服务器可能会响应也可能不会响应,因此我需要一种方法来停止readUTF方法停止程序(检查是否有消息),如果没有收到消息,则继续执行下去。

最佳答案

使用DataInputStream.available()检查是否要读取数据,并按照here所述用InputSteam包装套接字的PushbackInputStream

关于java - 如何检查readUTF方法是否具有某些要接收的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39853760/

10-10 22:49