SocketIO +节点 - 恢复丢失的连接

问题描述:

我使用socketio/node来抽出一些时髦的统计数据给浏览器,所有标准的东西。我正在使用这两个库的最新版本。现在,我有几个问题与此:SocketIO +节点 - 恢复丢失的连接

1)在节点记录警告信息:

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit. 
Trace: 
    at CleartextStream.<anonymous> (events.js:101:17) 
    at [object Object].<anonymous> (/var/www/lib/other/Socket.IO/lib/socket.io/client.js:83:20) 
    at [object Object]._onConnect (/var/www/lib/other/Socket.IO/lib/socket.io/transports/xhr-polling.js:23:35) 
    at [object Object].check (/var/www/lib/other/Socket.IO/lib/socket.io/listener.js:77:12) 
    at Server.<anonymous> (/var/www/lib/other/Socket.IO/lib/socket.io/listener.js:33:14) 
    at Server.emit (events.js:45:17) 
    at HTTPParser.onIncoming (http.js:904:12) 
    at HTTPParser.onHeadersComplete (http.js:87:31) 
    at CleartextStream.ondata (http.js:820:22) 
    at CleartextStream._blow (tls.js:228:29) 

这是一个XHR的警告,我可以还挺理解为本质的一个例子XHR是多个连接/断开连接。但是,当我有相当多的客户通过其他运输连接我得到相同的。

2)随机连接丢失。由于某些莫名其妙的原因,连接随机退出。这不是机器或浏览器,甚至特定的传输。浏览器上的连接将随机停止接收更新。节点日志中没有特定的断开连接消息,手动刷新浏览器可以解决问题。

所以,我想知道的是 - 这两个问题是相关的还是单独的问题?你有没有经历过这些连接退出?如果是这样,你是如何设法解决它们的?它非常令人沮丧,因为它非常接近完美。我很想感受到温暖和舒适的知识,即所有查看我的应用程序页面的客户端都可以在几小时甚至几天内获得一致的更新。

我们非常感谢您的帮助和建议!

干杯,

皮特

+0

您使用的是什么版本的socket.io和节点? – 2011-02-12 05:33:17

+0

我正在使用socket.io,并经历了看似随机的断开连接。我希望我能更多的了解,但我不知道为什么会发生。很多用户认为它很难重现。 – mikeycgto 2011-05-25 03:11:24

我希望我有你的先生了坚实的答案,但我至少可以为你提供一个全面的检查。

我一直在搞图书馆大约一个星期了,我已经看到了确切的错误,以及其他错误,其中一个websocket连接不能持久(在自然支持技术的浏览器上),随机会话ID下降。总的来说,没有任何东西可靠地工作。

平心而论,它是免费的,仍处于测试阶段,所以你有它。

Socket.io是一个马车库。

+4

它有一些怪癖,但称它为马车图书馆有点夸张,如果你问我。我挑战你写一个更好的图书馆或分叉它,并修复它,如果你认为你可以做得更好...... – Alfred 2011-06-06 02:29:26

那么我有一部分答案。根据Guillermo Rauch(socket.io的创建者)的说法,这个错误并不是真正的内存泄漏,因为完全断开它会被清除。这是邮件列表中的link,它解释了它。

所以这两个问题不太可能是相关的。我也遇到了警告信息,但我没有遇到随机丢失的问题。