Node.js 断开连接事件在2分钟后被触发
我使用Node.JS和Socket.IO创建聊天,我使用持续时间为10的XHR轮询在Heroku上托管它 当我把页面留给我的客户机时,我想在服务器上自动调用disconnect方法,将其从其他客户机上删除。事实上已经完成了,但是。。。在客户真正离开页面后2分钟,这相当尴尬 有没有一种方法可以在客户端不应答时立即调用disconnect方法?或者至少更快地知道客户何时不在了Node.js 断开连接事件在2分钟后被触发,node.js,socket.io,Node.js,Socket.io,我使用Node.JS和Socket.IO创建聊天,我使用持续时间为10的XHR轮询在Heroku上托管它 当我把页面留给我的客户机时,我想在服务器上自动调用disconnect方法,将其从其他客户机上删除。事实上已经完成了,但是。。。在客户真正离开页面后2分钟,这相当尴尬 有没有一种方法可以在客户端不应答时立即调用disconnect方法?或者至少更快地知道客户何时不在了 我曾尝试使用jQuery关闭页面出口上的套接字客户端,但它不起作用。问题是使用socket.disconnect()是异步的
我曾尝试使用jQuery关闭页面出口上的套接字客户端,但它不起作用。问题是使用
socket.disconnect()
是异步的、非阻塞的,用户在请求完成之前就离开了…您可以使用socket.io
配置的heartbeat timeout
、heartbeat interval
和close timeout
值
在此页面中搜索
心跳
和超时
:如果将socket.io客户端上的'sync disconnect on unload'
选项设置为true,它将在onbeforeunload中发送同步xhr断开连接请求,该请求将断开套接字连接。io.set(“心跳超时”,10)代码>和io.set(“心跳间隔”,5)代码>似乎根本没有改变任何东西。。。这很奇怪。我将socket.io降级到了0.9.4版,因为它是一个bug,尽管它在我的web主机上仍然不起作用。最后给了你分数,因为你是唯一尝试过的人。好问题,希望尽快解决+1.