【发布时间】:2009-04-17 19:32:50
【问题描述】:
我正在编写自己的网络服务器,但我还没有正确处理并发连接。由于处理并发连接不当,我得到了大量的页面加载延迟(我响应 SYN,但不知何故丢失了 GET 数据包。浏览器会在一段时间后重试,但需要 3 秒!)我试图弄清楚是否有指示浏览器停止同时加载内容的方法,因为调试这需要很长时间。网络服务器非常精简,不会公开,也不是这个应用程序的主要目的,这就是为什么我愿意以这种方式偷工减料。
最好将并发连接数限制为 1,因为使用 IE 的注册表修改该参数和使用 Firefox 的 about:config 都可以完美运行。
任何其他解决方法的想法也会很有用。我能想到的一对:
1 - 指示浏览器缓存所有内容而不会过期,因此缓慢加载(.js、.css 和图像文件)只发生一次。我可以将校验和附加到文件的末尾 (img src="/img/blah.png?12345678") 以确保如果我更新文件,它会正确重新加载。
2 - 添加 .js 和 .css 以与 .html 文件内联加载 - 但这仍然不能解决图像问题,而且还是很丑陋。
【问题讨论】:
-
您是否尝试增加收听积压?
标签: browser webserver concurrency connection