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

即时通讯使用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)随机连接丢失。 有些莫名其妙的原因,连接随机退出。 这不是机器或浏览器,甚至运输具体。 浏览器上的连接将随机停止接收更新。 节点日志中没有特定的断开连接消息,手动刷新浏览器可以解决问题。

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

非常感谢您的帮助和build议!

干杯,

皮特

我希望我对你有一个可靠的答案,先生,但我至less可以给你一个理智的检查。

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

平心而论,它是免费的,还在testing阶段,所以你有它。

Socket.io是一个错误的库。

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

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