问题对我来说,在循环之后什么都没有执行?这有什么问题? (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");
答案 0 :(得分:6)
你的while循环卡在等待下一行的套接字上。流的源需要在其末端关闭连接。
答案 1 :(得分:3)
此代码“while((line = in.readLine())!= null)” 仅当您从具有恒定大小的文件中读取时才会相关,最后您将到达它。 当您从套接字读取时,您正在进入阻塞状态(等待远程客户端发送数据)。
如果你想要退出循环,你需要在docket读取方法上添加可能的超时。