3
我试图使用NodeJS实现长轮询技术。在同一浏览器中进行多个连接的长轮询
我有这个基本代码部署在服务器上。
http = require('http');
function onRequest(request, response) {
console.log('onRequest reached');
}
http.createServer(onRequest).listen(8080);
console.log('Server has started.');
当请求localhost:8080时,会触发onRequest。当这个连接处于活动状态时,我在第二个选项卡中请求相同的页面,但onRequest未被触发。但是,当第一个连接仍处于“长时间轮询”状态时,从另一个浏览器请求相同的页面会触发onRequest。
浏览器有什么限制吗?这是怎么发生的?如何避免这种情况?
btw。我正在尝试实施长轮询聊天和通知系统。实际上,请求应该由AJAX调用完成。
立即发送标题没有帮助。 – 2012-07-06 11:53:52
好的。具体如下:根据HTTP/1.1规范,浏览器最多只能同时打开2个连接到同一台服务器。我不确定你的麻烦来自第一个请求'/'和'/ favicon.ico'的窗口,或者其他的东西......无论如何,这对于长轮询来说是一个很大的缺点。 – 2012-07-06 12:01:07
哦。我也读了大约2个连接限制。但忘了/favicon.ico :)现在我需要避免这种情况。 Facebook与他聊天的内容是什么? – 2012-07-06 12:15:06