Java 소켓: 클라이언트 요청에 대한 응답하지 않는 서버 응답 해결
제시된 시나리오에서 클라이언트는 서버에 문자열을 성공적으로 보내며 다음과 같은 메시지를 표시합니다. 서버가 처리하고 응답합니다. 그러나 클라이언트가 서버의 응답을 받지 못했습니다.
근본 원인:
이 문제는 줄 끝 문자("rn")가 끝에 추가되지 않았기 때문에 발생합니다. 출력 스트림에 기록된 문자열입니다. 이는 클라이언트와 서버 간의 통신을 방해하여 클라이언트가 서버의 응답을 알아채지 못하게 만듭니다.
해결책:
이 문제를 해결하려면 "rn"이 다음에 추가되는지 확인하세요. 보내기 전에 문자열을 삭제하세요.
클라이언트 수정:
string = "end"; out.write(string + "\r\n"); out.flush();
서버 수정:
out.write("to end" + "\r\n"); out.flush(); out.close(); System.out.println("end");
줄 종료 문자를 추가하면 클라이언트와 서버 간의 통신 흐름이 향상됩니다. 클라이언트가 서버의 응답을 인식할 수 있게 되므로 클라이언트 측에서 원하는 인쇄 기능을 얻을 수 있습니다.
위 내용은 내 Java 소켓 클라이언트가 서버 응답을 받지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!