我一直在节点服务器上使用socket.io为我的网站开发发布功能.在过去一个月左右的时间里,我一直遇到问题,因为套接字连接在运行几天后变得非常缓慢或完全没有响应.服务器没有内存不足.我对调试这类问题并不十分熟悉.
socket.io日志并没有告诉我“websocket connection invalid”或“client not handshaken”客户端应该重新连接’“
我搜索过,最终看到一个线程建议在命令行中运行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%的时间内解决问题,而重新启动节点服务则不会,这使我相信这是与服务器上的开放套接字相关的问题.