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 - 有一个睡眠(1000);

Chrome 完美运行,我得到了完整的 HTML 显示并且它运行正常。Firefox 工作,但 1 秒后我得到一个问题加载页面 - 连接被重置

场景 2 - 没有睡眠(1000);

Firefox 完美运行,我得到了完整的 HTML 显示并且它运行正常。Chrome 不显示数据或数据不完整,页面“冻结”,我无法标记任何内容或单击任何按钮。

有没有可能的解决方案?

4

1 回答 1

0

在您使用网络服务器之前,我建议您阅读这些文章

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 回答