我正在编写一个吐出一些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不显示任何数据或数据不完整,并且网页“冻结”,我无法标记任何内容或点击任何按钮。
有可能解决这个问题吗?
答案 0 :(得分:0)
在您使用Web服务器之前,我建议您阅读这些文章
Web服务器安全指南 http://www.cmu.edu/iso/governance/guidelines/web-server.html
超文本传输协议 - HTTP / 1.1 http://www.ietf.org/rfc/rfc2616.txt