第一篇文章,我将尽可能清楚地确定:)
我试图在我的SocketIO / NodeJS App上创建on demand命名空间 基本上,服务器为每个客户端创建一个特定的命名空间 我需要处理服务器端,客户端尝试访问不存在的命名空间的情况 我们的想法是避免任何不需要的服务器端连接,或者至少处理它以强制断开连接。
但是在测试时,似乎当我尝试这个时,在客户端:
var socket = io("thisNameSpaceDontExist");
socket.on('connect', function(){
window.console.log('connected to server');
})
' connect'事件不会触发,这看起来很完美!
在socket
上执行console.log,它会显示:
connected: false
disconnected: true
但主要的问题是,服务器端,它有所不同,有一个活跃的连接...... 在进行一些研究时,我发现这个问题https://github.com/Automattic/socket.io/issues/1867,我现在还在上一个版本中:1.3.5
有关信息,socketIOHandler代码我使用: io.on(' connection',function(socket){ console.log(" [SocketIOHandler :: Connection] + 1");
socket.on('disconnect', function () {
console.log("[SocketIOHandler::Disconnection] -1");
});
});
PS: 还发现一些问题和MR声称支持动态命名空间:https://github.com/Automattic/socket.io/issues/1854,但这些没有合并,所以我不能真正理解我的代码上的行为...
谢谢!