服务器上的Meteor客户端断开连接事件
Meteor client disconnected event on server
简单的问题,也许是简单的答案:我如何在服务器上知道某个客户端已断开连接?基本用例:发球需要知道球员是否断开了连接。
在publish函数中,您可以观察套接字关闭事件,如下所示。
this.session.socket.on "close", -> # do your thing
Meteor.publish("yourPublishFunction", function()
{
var id = this._session.userId;
this._session.socket.on("close", Meteor.bindEnvironment(function()
{
console.log(id); // called once the user disconnects
}, function(e){console.log(e)}));
return YourCollection.find({});
});
我创建了一个非常全面的包来跟踪每个用户的所有登录会话,以及他们的IP地址和活动:
https://github.com/mizzao/meteor-user-status
要注意断开连接,您只需执行以下操作,即可捕获注销和浏览器关闭:
UserStatus.on "sessionLogout", (userId, sessionId) ->
console.log(userId + " with session " + sessionId + " logged out")
您也可以检查代码并为自己做类似的事情。
可能(在服务器代码中)
Meteor.default_server.sessions.length
或
Meteor.default_server.stream_server.open_sockets.length
您可以做一件事,在服务器上创建一个事件,并使用ajax从浏览器调用它,ajax在一个小的时间间隔后调用settimeinterval并将会话值放入头中,如果服务器没有收到用户的请求,则意味着他放弃了连接
相关文章:
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 服务器上的Meteor客户端断开连接事件
- websocket客户端在发送大数据时断开连接
- Will my'新对象'在套接字断开连接时被垃圾收集
- socket.io:断开连接事件 - “传输关闭”、“客户端命名空间断开连接”、“传输错误”和“强制关闭”
- 套接字发生了什么's在'断开连接'事件(服务器端)
- 在客户端断开连接时释放事件处理程序 Socket.IO
- nodeJS视频流,当用户断开连接或移动到不同页面时,连接不会关闭
- jQuery replaceWith()后JavaScript断开连接
- Node.js域集群工作程序断开连接
- 如何在数据库断开连接时处理Redis会话
- socket.io,netty socketio,nginx每分钟断开连接
- SSE(服务器发送的事件)断开连接
- 多个chrome.runtime.onMessage-Listeners-断开连接的端口错误
- 断开连接时 socket.io 销毁连接
- 如何检测 socket.io 上的断开连接
- 套接字断开连接不起作用
- 当套接字断开连接时终止msnodesql连接
- 在异步加载谷歌地图时处理网络断开连接
- Socket.io :断开连接后重新连接时如何执行某些操作