6

我一直在使用节点服务器上的 socket.io 为我的网站开发发布功能。在过去一个月左右的时间里,我一直遇到问题,仅运行几天后,套接字连接就变得非常缓慢或完全没有响应。服务器没有内存不足。我对调试这类问题不太熟悉。

除了“websocket 连接无效”或“客户端未握手‘客户端应该重新连接’”之外,socket.io 日志并没有告诉我太多

我四处搜索,最终看到一个线程建议在命令行中运行 netstat,并在 FIN_WAIT2 和 CLOSE_WAIT 中看到大量连接,并认为这是我的问题的原因。在查看了 socket.io github 上的一些线程后,建议升级到分支 0.9.14(我当时一直在运行 0.9.13)。

从那以后我已经这样做了,并且当服务器只连续运行了几天时,我仍然有一段时间的“停机”。我的网站没有接近应该成为问题的流量。

我的日志中开始出现一个新错误(websocket 解析器错误:没有操作码 10 的处理程序),但是我的谷歌搜索已经发现了这个问题。我不确定在哪里可以解决这个问题,或者我是否只是在追寻红鲱鱼,而真正的问题是你们中的一个人可能能够帮助我阐明的其他问题。

我正在运行 node.js v0.10.10 并使用 socket.io v0.9.14。硬重启 linux 服务器将 100% 解决问题,而重启节点服务则不能,这让我相信这是与服务器上打开的套接字有关的问题。

4

1 回答 1

2

您可能在 node.js 中遇到了一个最近修复的已知错误 - 请参阅问题#5504

升级到node v0.10.11后问题还存在吗?

于 2013-06-16T18:29:28.160 回答