第一篇文章,我会尽量清楚:)
我正在尝试在我的SocketIO/NodeJS应用程序上创建on demand命名空间.
基本上,服务器为每个客户端创建一个特定的命名空间.
我需要处理服务器端,客户端尝试访问不存在的命名空间的情况.
我们的想法是避免任何不需要的服务器端连接,或者至少处理它以强制断开连接.
但在测试时,似乎当我尝试这个时,在客户端:
var socket = io("thisNameSpaceDontExist");
socket.on('connect', function(){
window.console.log('connected to server');
})
Run Code Online (Sandbox Code Playgroud)
'connect'事件不会触发,这看起来很完美!执行console.log socket,它会显示:
connected: false
disconnected: true
Run Code Online (Sandbox Code Playgroud)
但主要的问题是,服务器端,它是不同的,有一个活跃的连接......在做一些研究时,我发现这个问题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");
});
});
Run Code Online (Sandbox Code Playgroud)
PS:还发现一些问题和MR声称支持动态命名空间:https://github.com/Automattic/socket.io/issues/1854,但这些都没有合并,所以我真的不明白我的行为码...
谢谢!
| 归档时间: |
|
| 查看次数: |
493 次 |
| 最近记录: |