繁体   English   中英

为什么while循环后的语句无法执行?

[英]Why statements after while loop is not getting executed?

我的问题是while循环后什么也没执行? 这是什么问题? (while循环结束后的行永远不会执行)

client = serverSocket.accept();
BufferedReader in = new BufferedReader(
                            new InputStreamReader(client.getInputStream())
);

while ((line = in.readLine()) != null) {
    Log.i("line",line);
    line111 +=line;
    Log.i("line111",line111);
}

//Any code below this is not executed
Log.i("shan","Shan");

您的while循环被卡在套接字上,等待下一行。 流的源需要在其末端关闭连接。

这段代码“ while((line = in.readLine())!= null)”仅在您从具有恒定大小的文件中读取并且最终将到达该文件时才有意义。 从套接字读取数据时,您正在进入阻塞状态(等待远程客户端发送数据)。

如果要退出循环,则需要在摘要读取方法上添加超时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM