회사의 고객 사이트 중 하나에서 정말 이상한 문제가 있습니다. Google 시스템이 사이트의 Google 서버 중 하나에 HTTP 요청을 보내려고합니다. 서버가 DMZ 내에서 실행되는 시스템에서 실행 중입니다.HTTP 메시지 본문을받지 못했습니다.
클라이언트가 Java이고 서버가 C#입니다.
Socket s = new Socket();
socket.connect([server address], timeout);
SocketOutputBuffer output = new SocketOutputBuffer (socket);
byte[] buffer = [creating the HTTP request headers]
output.write(buffer);
output.flush();
buffer = [creating the message body]
output.write(buffer);
output.flush();
클라이언트 응용 프로그램을 디버깅
, 마지막으로 "output.flush()"마무리 -[실제 코드로 의사 변경 편집] : 내 코드는 다음과 같은 방식으로 HTTP 요청을 전송 성공적으로 서버 쪽에서는 서버 쪽에서 HTTP 헤더 만 받았습니다.
이상한 점은 마지막 플러시 후 소켓을 닫으면 메시지 본문이 서버에 도착한다는 것입니다.
의견이 있으십니까?
고마워요.
실제 코드를 보지 않고도 진단하기가 어렵습니다. 첫 번째 플러시 작동을 알고 있기 때문에 생략하고 메시지 본문 뒤에 만 플러시를 시도 했습니까? –
코드를 업데이트 했으므로 첫 번째 플러시를 생략 해 보겠습니다. 감사. –