node.js中的expire或timelimit socket.io连接

时间:2015-09-08 13:52:39

标签: javascript node.js sockets socket.io

我已在文档中挖掘过,但没有看到任何具体处理此问题的内容,因此我正在寻找一种可管理的解决方法,以便有效地“过期”#39;或者在一段时间后断开socket.io客户端。显然在node.js上我需要将这个事件处理为异步和非线程阻塞。

在我看来,这是我想要实现的一个坏榜样,但请考虑:

用户连接到最多时间为3分钟的房间:

socket.on('connection', function(params){
   var maxTime = params.maxTime; 
   socket.join(params.roomId);
   setTimeout(function{
   socket.leave(params.roomId);
}, 180000)
});

我觉得这样可以很好地解决1个连接问题,但是如果我说10000个并发客户端连接到一系列房间,那么它似乎会造成一些严重的开销吗?

是否有更好或可接受的解决方法?

1 个答案:

答案 0 :(得分:0)

为什么不跟踪客户端的连接时间而不使用任何服务器资源呢?