Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java readLine()使用套接字阻塞_Java_Sockets_Stream_Readline - Fatal编程技术网

Java readLine()使用套接字阻塞

Java readLine()使用套接字阻塞,java,sockets,stream,readline,Java,Sockets,Stream,Readline,我知道已经有关于它的话题了,但我还没有找到我的问题的答案。我正在制作一个客户机/服务器应用程序。我希望我的客户端仅在以\n结尾时获取消息。但我也不希望它在服务器没有发送消息时被阻止 目前我的代码是这个 public void continuousStreaming(){ 字符串messageSend=“ping 12345”; 字符串messageReceive=null; 试一试{ 同时(连接){ if(parserCommand.commandToSend()){ messageSend=p

我知道已经有关于它的话题了,但我还没有找到我的问题的答案。我正在制作一个客户机/服务器应用程序。我希望我的客户端仅在以\n结尾时获取消息。但我也不希望它在服务器没有发送消息时被阻止

目前我的代码是这个

public void continuousStreaming(){
字符串messageSend=“ping 12345”;
字符串messageReceive=null;
试一试{
同时(连接){
if(parserCommand.commandToSend()){
messageSend=parserCommand.getCommand();
System.out.println(“我们得到一条命令:“+messageSend”);
}
out.println(messageSend);//发送到服务器
out.flush();
如果(in.ready()){//只有当缓冲区不为空时,我们才会收到消息。
messageReceive=in.readLine();//等待对客户端的响应。
messageTreatment(parseMessage(messageReceive));
}
messageSend=“ping 12345”;
}
}捕获(IOException错误){
错误。printStackTrace();
}
}
你知道我如何解决这个问题吗

谢谢您的回答。

readLine()
循环移动到一个单独的线程,让它正常阻塞,然后它可以在每条消息到达时通知其余的代码。