Javascript Node.js websocket服务器在客户端关闭选项卡时崩溃
我得到了一个运行node.js服务器的小示例项目,该服务器用于向客户端广播 处理套接字的服务器(来自): 小样本页面: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
<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
});