私は、すべてに対して事前に作成された応答を再生する小さな「Webサーバー」を作成しました。この場合:
HTTP/1.1 404 Not Found\r\n
\r\n
次のクライアントコードは、TCPタイムアウトが発生するまでハングします。
using (WebResponse response = WebRequest.Create(url).GetResponse()) { }
Wiresharkとの会話をスパイしましたが、すべてのデータが適切に送受信されます。GetResponse
上記の応答を受け取った後、待機し続けます。しかし、そうすべきではありません-それは有効なHTTP応答ですよね?どうしたの?
応答にコンテンツを追加すると、すべてが期待どおりに機能します。