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