1
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);
}
소켓 연결에서 응답을 받기 위해 스레드에서 위의 코드를 사용하고 있습니다.
데이터 전송을 위해 out.println()
을 사용 했으므로 Android가 올바르게 작동하지만 기기가 ios에 연결되어 데이터 수신을 시작하면 데이터를 수신 할 수 없으며 연결을 종료 할 때만 데이터를 수신 할 수 있습니다. readLine()
이외의 대체 방법이 있으며 위의 코드에서 사용하는 방법이 있습니까?readLine()에서 응답 읽기 readLine()
[Java에서 입력 스트림의 끝을 식별하는 방법] (http://stackoverflow.com/a/5562415/4935567)을 살펴보면 문제를 해결할 수 있다고 생각합니다. –