0

HTML を吐き出すサーバーを書いていますが、Chrome と Firefox に問題があります。ここに重要なコードのスニペットがあります

...
TcpListener listener = new TcpListener(IPAddress.Any, 12345);

listener.Start();

TcpClient client = listener.AcceptTcpClient();
client.ReceiveTimeout = 1000;
client.SendTimeout = 1000;

NetworkStream stream = client.GetStream();
stream.ReadTimeout = 1000;

...

StreamWriter sw = new StreamWriter(stream);
sw.Write(response);
sw.Flush();

System.Threading.Thread.Sleep(1000);

sw.Close();
stream.Close();
client.Close();

レスポンスはプレーンな HTML .... で、ヘッダーやその他のメタデータはありません (これが問題なのでしょうか?)。今何が起こるかはこれです:

シナリオ 1 - Sleep(1000) があります。

Chrome は完全に動作し、完全な HTML が表示され、正しく動作します。Firefox は動作しますが、1 秒後に問題の読み込みページが表示されます - 接続がリセットされました

シナリオ 2 - Sleep(1000) がありません。

Firefox は完全に動作し、完全な HTML が表示され、正しく動作します。Chrome にデータが表示されないか不完全なデータが表示され、ページが「フリーズ」します。何もマークしたり、ボタンをクリックしたりできません。

これに対する可能な解決策はありますか?

4

1 に答える 1

0

Web サーバーで作業する前に、これらの記事を読むことをお勧めします。

Web サーバー セキュリティ ガイドライン http://www.cmu.edu/iso/governance/guidelines/web-server.html

ハイパーテキスト転送プロトコル -- HTTP/1.1 http://www.ietf.org/rfc/rfc2616.txt

于 2012-07-19T10:26:04.090 に答える