简单的问题,也许是简单的答案:我如何在服务器上知道某个客户端已断开连接?基本用例:发球者需要知道玩家是否断开了连接。
			
			2665 次
		
5 回答
            4        
        
		
在发布功能中,您可以按如下方式观看套接字关闭事件。
this.session.socket.on "close", -> # do your thing
于 2012-09-20T03:09:31.630   回答
    
    
            4        
        
		
 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({});
        });
于 2013-08-19T14:16:55.390   回答
    
    
            3        
        
		
我创建了一个非常全面的包来跟踪每个用户的所有登录会话,以及他们的 IP 地址和活动:
要监视断开连接,您只需执行以下操作,即可捕获注销和浏览器关闭:
UserStatus.on "sessionLogout", (userId, sessionId) ->
  console.log(userId + " with session " + sessionId + " logged out")
您还可以查看代码并为自己做类似的事情。
于 2013-08-03T03:18:33.940   回答
    
    
            1        
        
		
也许(在服务器代码中)
Meteor.default_server.sessions.length
或者
Meteor.default_server.stream_server.open_sockets.length
于 2012-09-11T22:27:47.227   回答
    
    
            0        
        
		
你可以做一件事在服务器上创建一个事件并使用 ajax从浏览器调用它,在一些小的时间间隔 settimeinterval使用会话值到标头后调用它,如果服务器没有从用户那里得到请求,这意味着他断开了连接
于 2012-09-08T20:05:29.147   回答