Javascript Node.js websocket服务器在客户端关闭选项卡时崩溃

Javascript Node.js websocket服务器在客户端关闭选项卡时崩溃,javascript,node.js,websocket,crash,server,Javascript,Node.js,Websocket,Crash,Server,我得到了一个运行node.js服务器的小示例项目,该服务器用于向客户端广播 处理套接字的服务器(来自): 小样本页面: <script type="text/javascript"> var node_ws = new WebSocket("ws://" + "localhost" + ":" + "3000" + "/mywebsocket"); node_ws.onmessage = function (evt) { var msg = JSON

我得到了一个运行node.js服务器的小示例项目,该服务器用于向客户端广播

处理套接字的服务器(来自):

小样本页面:

<script type="text/javascript">
    var node_ws = new WebSocket("ws://" + "localhost" + ":" + "3000" + "/mywebsocket");

    node_ws.onmessage = function (evt) {
        var msg = JSON.parse(evt.data);
        var action = msg.action;

        var para = document.createElement("p");
        var node = document.createTextNode(action);
        para.appendChild(node);

        var element = document.getElementById("div1");
        element.appendChild(para);
    };

</script>
<div id="div1">Test</div>
我尝试捕获使用onbeforeunload关闭并关闭客户端Websocket的事件,但没有成功。

我无法想象我是唯一一个有这个问题的人,但我在其他任何地方都没有发现这种确切的行为


感谢您的帮助

我也有同样的问题

这就是我的解决方案。我把它放在关闭功能的插座下面:

socket.on('error', function () {        
    //Close the socket
    });

我不知道是否需要在这里删除套接字,因为socket close的东西似乎可以处理它,但为了以防万一,我还是加入了删除它的代码。

我想问题是在哪里处理异常?在所描述的情况下,并不总是调用socket.on('close'…)
events.js:141
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at exports.errnoException (util.js:860:11)
at TCP.onread (net.js:544:26)
socket.on('error', function () {        
    //Close the socket
    });