try {
input = new BufferedReader(new InputStreamReader(
mSocket.getInputStream()));
while (!Thread.currentThread().isInterrupted()) {
String messageStr = null;
messageStr = input.readLine();
if (messageStr != null) {
updateMessages(messageStr, false);
} else {
break;
}
}
input.close();
} catch (IOException e) {
Log.e(CLIENT_TAG, "Server loop error: ", e);
}
我在线程中使用上面的代码来接收来自套接字连接的响应
在Android中它正常工作,因为我使用out.println()
来发送数据,但是当设备连接到ios并开始接收数据时,它无法识别结束,只有在连接关闭时才会收到。是否有除readLine()
之外的其他方法以及如何在上述代码中使用。
答案 0 :(得分:3)
这会更好。
try
{
input = new BufferedReader(new InputStreamReader(mSocket.getInputStream()));
String messageStr = "";
while (!Thread.currentThread().isInterrupted() && (messageStr = input.readLine()) != null)
{
updateMessages(messageStr, false);
}
input.close();
} catch (Exception e) {
Log.e(CLIENT_TAG, "Server loop error: ", e);
}