我的客户端/服务器应用程序当前每次想要发送/接收数据时都会打开和关闭新连接。我正在尝试对其进行更改,以便它具有一个持久连接。
我遇到的问题是服务器上的套接字 DataInputStream 一直在抛出 EOFException,而我只是希望它阻塞直到它接收到下一批数据。
我想只是像这样简单地编写服务器......
while socket is open {
while at socket's DataInputStream's EOF {
wait a second
}
//If we're here, then we have some data
do stuff
}
...但这非常难看,并且在收到一些数据之前不是阻止的正确方法。
有没有更简洁的方法来告诉套接字阻塞,直到有一些数据要读取?我尝试过 read() 和 readFully(),但都不起作用。