Java 소켓 프로토콜 문제: 서버가 클라이언트에 응답하지 못함
제공된 코드 조각에서 서버가 클라이언트에 응답하지 못하는 문제가 발생합니다. 클라이언트의 요청에 응답합니다. 이 문제를 해결하려면 Java 소켓 프로토콜의 복잡성을 이해해야 합니다.
문제:
주어진 코드는 클라이언트가 보내는 클라이언트-서버 통신을 설정하려고 시도합니다. 서버에 보내는 메시지. 그러나 메시지를 수신해도 서버는 메시지를 인쇄하거나 응답하지 않습니다.
해결책:
이 문제를 해결하는 열쇠는 메시지가 서버를 통해 전송되도록 하는 것입니다. 소켓 스트림은 프로토콜의 형식 지정 지침을 준수합니다. 이 경우 서버가 메시지를 올바르게 처리하려면 각 메시지 끝에 캐리지 리턴(r)과 줄 바꿈(n)이 뒤따라야 합니다.
구현:
문제를 해결하려면 다음과 같이 클라이언트 코드를 수정하세요.
string = "end"; out.write(string + "\r\n"); // Add "\r\n" to the string out.flush();
마찬가지로 서버가 적절한 응답을 보내도록 다음과 같이 변경하세요.
out.write("to end" + "\r\n"); // Add "\r\n" to the string out.flush(); out.close();
이러한 조정을 통합하면 클라이언트와 서버 메시지가 모두 프로토콜의 형식 요구 사항을 준수하므로 서버가 클라이언트 요청을 성공적으로 수신, 처리 및 응답할 수 있습니다.
위 내용은 내 Java 서버가 내 클라이언트의 요청에 응답하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!