我有一台服务器,最初这样做: -
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
for (;;) {
String cmdLine = br.readLine();
if (cmdLine == null || cmdLine.length() == 0)
break;
...
}
Run Code Online (Sandbox Code Playgroud)
稍后它将套接字传递给另一个类"foo"此类等待特定于应用程序的消息.
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
appCmd=br.readLine();
Run Code Online (Sandbox Code Playgroud)
我的客户端发送以下序列:
问题是有时"foo"没有得到它的回应.它挂在了readLine().
readLine()使用提前读取服务器在服务器中缓存数据的可能性是多少?"foo"类正在变得饥饿?
如果我在客户端添加睡眠,它可以工作.但它永远有效的可能性是多少?
sleep(1000);如何解决问题?感谢这方面的任何帮助.