Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript socket.io如何检测客户端断开连接_Javascript_Html_Node.js_Websocket_Socket.io - Fatal编程技术网

Javascript socket.io如何检测客户端断开连接

Javascript socket.io如何检测客户端断开连接,javascript,html,node.js,websocket,socket.io,Javascript,Html,Node.js,Websocket,Socket.io,我知道socket.io可以通过'disconnect'事件处理断开连接 我的问题是:当客户端关闭网页时,服务器端如何触发'disconnect'事件 我的意见是:当客户端关闭网页时,'onunload'事件的回调启动一个emit('disconnect') 我说得对吗 谢谢 编辑: 发件人: 卸载时同步断开连接默认为false: 当浏览器卸载时,我们是否需要向服务器发送一个断开连接的数据包 也许,现在默认情况下它是真的。。。我签入了代码,默认情况下仍然是false。它会拉动连接的线路。如果没有

我知道socket.io可以通过
'disconnect'
事件处理断开连接

我的问题是:当客户端关闭网页时,服务器端如何触发
'disconnect'
事件

我的意见是:当客户端关闭网页时,
'onunload'
事件的回调启动一个
emit('disconnect')

我说得对吗

谢谢

编辑:

发件人:

卸载时同步断开连接默认为false: 当浏览器卸载时,我们是否需要向服务器发送一个断开连接的数据包


也许,现在默认情况下它是真的。。。我签入了代码,默认情况下仍然是false

它会拉动连接的线路。如果没有电阻,线路可能断开了。(说真的,不过:我一点也不知道)服务器以设定的间隔向客户端发送心跳信号,如果它没有收到心跳信号,它就会断开连接。本·福琼:一旦我关闭网页,“断开连接”事件会立即触发。没有时间进行心跳检查。测试它的最佳方法是终止浏览器进程,您可能会发现它既执行“心跳”检查,又触发onUnload事件史蒂文:在我的上下文中,客户端会正确关闭网页。页面关闭后,服务器端会立即触发“断开连接”事件。在此之前没有心跳请求。