내 목표는 서버에서 객체를 요청하는 데 사용되는 Java 소켓 을 기반으로하는 간단한 요청 - 응답 패턴을 구현하는 것입니다.Java 소켓 : 객체 스트림을 사용한 요청 - 응답 패턴
그것은 다음과 같이 작동합니다 :
- 클라이언트는 서버가 평가 서버에 메시지를 보냅니다. 그가받은 것을 에 따라 특정 기능이 호출됩니다. 이 부분은 작동합니다.
- 서버는 요청 된 데이터를 ObjectOutputStream에 기록합니다. 이것 역시 작동합니다. 오류 메시지가 표시되지 않습니다.
- 클라이언트는 프로그램이 while 루프를 종료하게하는 CLOSE 메시지를 수신 할 때까지 입력 스트림에서 데이터를 읽습니다. 이것은 정상적으로 작동하지 않습니다. 여기
몇 가지 중요한 코드 조각입니다 :
// Client (Sending request) *** WORKS
objectOutputStream.writeInt(GET_OBJECT);
objectOutputStream.flush();
// Server (After receipt of the message) *** WORKS
objectOutputStream.writeInt(object);
objectOutputStream.writeInt(CLOSE);
// Client (Reading the answer from the server) *** WRONG
while(true){
int i = objectInputStream.readInt();
if(i == CLOSE)
break;
}
? 뭐든지 – greedybuddha
안녕하세요! 그것은 아무것도 반환하지 않았다. 그러나 Marko는 서버에서 flush()를 잊어 버렸음을 알고 있습니다. – user1812379