受信されていない私は、私の会社の顧客サイトの一つで、本当に奇妙な問題に直面しています。 システムは、サイト内のいずれかのサーバーに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ヘッダーのみがサーバー側で受信されたことがわかります。
奇妙なことは、私は最後のフラッシュの後にソケットを閉じると、メッセージ本文がサーバに到着したということです。
どのような考えですか?
ありがとうございます。
ハードをシャットダウンにソケットを設定する必要があります。あなたが最初のフラッシュ動作を知っているので、それを省略して、メッセージ本体の後でのみフラッシュしてみましたか? –
コードを更新したので、最初のフラッシュを省略してみます。ありがとう。 –