我试图在node.js服务器上限制socket.io连接时间。我问过上一个问题是否可以在不造成服务器上的巨额开销的情况下实现这一点,或者如果我们在不同的房间中说1000个并发套接字连接,则阻塞主线程,通过以下方式:
socket.on('connection', function(params){
var maxTime = params.maxTime;
socket.join(params.roomId);
setTimeout(function{
socket.leave(params.roomId);
}, 180000)
});
最好的情况是从资源的角度在客户端处理这个问题,但是发送超时/断开连接值并不是完全安全的,因为处理它的任何客户端代码行都可以很容易地被操作并且知道用户实际上可以防止调用断开连接事件/功能。
我可以执行以字符串形式发送的客户端函数吗?说:
setTimeout(function(){//disconnect},18000);
socket.emit('timeout_set', function(params){foo:bar});
然后在服务器上正确处理并知道已确定超时的响应:
socket.on('timeout_set', function(params){
socket.emit('proceed_with_stuff', {foo:bar});//includes critical info for proceeding
});
我认为这取决于一些事情:
答案 0 :(得分:0)