【问题标题】:SocketIO + Node - Recovering Lost ConnectionsSocketIO + 节点 - 恢复丢失的连接
【发布时间】:2011-02-03 10:29:55
【问题描述】:

我正在使用 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)

这是 XHR 警告的示例,我可以理解为 XHR 的本质是多次连接/断开连接。但是,当我有相当多的客户端通过其他传输连接时,我会得到相同的结果。

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

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

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

干杯,

皮特

【问题讨论】:

  • 你用的是什么版本的socket.io和node?​​span>
  • 我正在使用 socket.io 并且也经历过看似随机的断开连接。我希望我能提供更多的信息,但我只是不知道为什么会这样。很多事情都与用户所说的不同,因为它很难重现。

标签: node.js socket.io


【解决方案1】:

我希望我能给你一个可靠的答案,先生,但我至少可以为你提供一个健全的检查。

我已经在库中搞砸了大约一周,我已经看到了确切的错误,以及无法保持 websocket 连接的其他错误(在自然支持该技术的浏览器上)、随机会话身份证掉落。一般来说,ust 几乎没有任何东西可以可靠地工作。

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

Socket.io 是一个有缺陷的库。

【讨论】:

  • 它有一些怪癖,但如果你问我,称它为有缺陷的库有点夸大其词。如果您认为自己可以做得更好,我挑战您编写一个更好的库或分叉并修复它...
  • @Alfred Right ,我也认为这是夸大其词。
  • 我的 2c:也许不是“buggy”(这是一个讨厌的词),但超大,也许是的。
【解决方案2】:

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

所以这两个问题不太可能相关。我也遇到了警告消息,但随机退出没有问题。

【讨论】:

  • 正如线程中提到的,第一个问题现在应该修复了。除此之外,到目前为止,Socket.IO 一直很好地为我们服务。我还没有看到无法归因于不稳定链接的连接中断。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 2013-12-17
  • 2019-02-13
  • 2017-04-14
  • 1970-01-01
相关资源
最近更新 更多