Node.js SocketIO+;节点-恢复丢失的连接

Node.js SocketIO+;节点-恢复丢失的连接,node.js,socket.io,Node.js,Socket.io,我使用socketio/node,向浏览器输出一些时髦的统计数据,这些都是标准的东西。我正在使用这两个库的最新版本。现在,我有几个问题: 1) 节点日志中的警告消息: (node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit. Trace: at CleartextStream.<an

我使用socketio/node,向浏览器输出一些时髦的统计数据,这些都是标准的东西。我正在使用这两个库的最新版本。现在,我有几个问题:

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)
(节点)警告:检测到可能的EventEmitter内存泄漏。增加了11名听众。使用emitter.setMaxListeners()增加限制。
跟踪:
在CleartextStream。(events.js:101:17)
在[对象]。(/var/www/lib/other/Socket.IO/lib/Socket.IO/client.js:83:20)
在[object object]。\u onConnect(/var/www/lib/other/Socket.IO/lib/Socket.IO/transports/xhr polling.js:23:35)
在[object object]检查(/var/www/lib/other/Socket.IO/lib/Socket.IO/listener.js:77:12)
在服务器上。(/var/www/lib/other/Socket.IO/lib/Socket.IO/listener.js:33:14)
在Server.emit(events.js:45:17)
在HTTPParser.onIncoming(http.js:904:12)
在HTTPParser.onHeadersComplete(http.js:87:31)
在CleartextStream.ondata(http.js:820:22)
在CleartextStream._blow(tls.js:228:29)
这是一个XHR警告的例子,我可以理解为XHR的本质是多个连接/断开连接。然而,当我有相当多的客户机通过其他传输连接时,我得到了相同的结果

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

所以,我想知道的是,这两个问题是相关的,还是独立的?您是否经历过这些连接中断?如果是这样,您是如何设法解决这些问题的?这相当令人沮丧,因为它接近100%完美。我很想感受到温暖和舒适,因为所有查看我的应用程序页面的客户都会收到持续数小时甚至数天的更新,如果他们愿意的话

非常感谢您的帮助和建议

干杯


皮特

我希望我能给你一个可靠的答案,先生,但我至少能给你一个精神检查

到现在为止,我已经花了大约一周的时间来处理这个库,我看到了确切的错误,以及websocket连接无法持久化(在自然支持该技术的浏览器上)的其他错误,随机会话id丢失。总的来说,没有任何东西可以可靠地工作

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


io是一个有缺陷的库。

我有部分答案。根据Guillermo Rauch(socket.io的创建者)的说法,这个错误实际上不是内存泄漏,因为在完全断开连接时,它会被清除。下面是邮件列表的详细说明


因此,这两个问题不太可能有关联。我也遇到过警告消息,但我没有遇到随机退出的问题。

您使用的是什么版本的socket.io和node?我使用的是socket.io,并且也经历过看似随机的断开连接。我希望我能透露更多的信息,但我不知道为什么会这样。由于很难复制,用户所说的有很多地方不符。正如线程中提到的,第一个问题现在应该解决了。除此之外,Socket.IO迄今为止一直为我们提供良好的服务。我还没有看到不能归因于脆弱链接的连接中断。它有一些古怪之处,但如果你问我,称它为buggy library有点言过其实。我向你挑战,如果你认为你能做得更好的话,就写一个更好的库,或者用叉子叉起来修理它…@Alfred Right,我也认为这是夸大其词。我的2c:也许不是“buggy”(这是一个讨厌的词),但尺寸过大,也许是的。