【问题标题】:Expire or timelimit socket.io connection in node.jsnode.js 中的过期或时间限制 socket.io 连接
【发布时间】:2015-12-04 05:56:22
【问题描述】:

我在文档中进行了研究,但没有看到任何专门处理此问题的内容,因此我正在寻找一种可管理的解决方法,以在一定时间后有效地“过期”或断开 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 个并发客户端连接到一系列房间,它似乎会导致一些严重的开销?

有没有更好或被接受的方法来解决这个问题?

【问题讨论】:

    标签: javascript node.js sockets socket.io


    【解决方案1】:

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

    【讨论】:

    • 据我了解,如果它只是客户端 js,这将使其容易被滥用
    • 如果客户端断开连接怎么办,如何通知服务器断开连接
    猜你喜欢
    • 2016-10-24
    • 1970-01-01
    • 2018-05-14
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 2018-07-26
    • 2015-11-18
    相关资源
    最近更新 更多