【发布时间】:2011-02-01 15:49:09
【问题描述】:
我们遇到了长轮询和歌剧的问题。我自己是一名 c 程序员,并且已经为我们的需要开发了一个定制的 http-daemon。在这种情况下,我们需要一个能够处理大量连接的长轮询服务器。
问题在于,即使在单击站点上的某些链接并且当然会打开新的链接之后,Opera 也会以某种方式使这些长民意调查保持打开状态。我们使用基本的长轮询技术,它试图在 iframe 中包含 javascript。这适用于其他浏览器,但即使我强制以前的民意调查在服务器端关闭,opera 也会重新打开它们。这不是很好,因为在高流量站点上,只有少数 opera 用户可以通过浏览站点导致守护程序快速耗尽免费文件描述符(因为站点上的每次点击都会打开一个新的长轮询,而旧的不会关闭)。页面刷新不会导致相同的结果,它会做正确的事情:关闭长轮询并打开一个新的。关闭opera后,所有文件描述符都关闭了,一切又好了。
那么,我应该在 http-daemon 中为opera 添加一些特定的标头还是我们的javascript 有问题?
编辑:使用版本测试:Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.6.30 Version/10.63
【问题讨论】:
-
你能在某处发布一段实际的代码吗?没有准确的例子,很难分析和提出解决方案。
标签: javascript sockets opera long-polling file-descriptor