禁用默认名称空间或断开socket.io中的所有套接字连接到默认名称空间

我有一个在节点上运行的socket.io服务器,我允许不同的第三方应用程序连接到不同的名称空间。

我不希望任何人通过打算永久禁用默认命名空间或者断开与默认命名空间连接的所有套接字来连接到默认命名空间/那里

以下是我的代码部分:

服务器端:

 var io = require('socket.io')(http); var nsp={}; var namespaces = ["/news","/world","/chat"]; for(var i=0;i < namespaces.length;i++){ namesp = namespaces[i]; nsp[namesp] = io.of(namesp); nsp[namesp].on('connection', function(socket){ // some code here }); } 

如果我尝试使用上面的代码连接到默认命名空间,它仍然接受连接。

在服务器中添加了以下代码:

 io.of("/").on("connection", function(socket){ socket.disconnect("unauthorized"); }); 

如果定义了所有的连接,则转到上面的代码。 所以不能单独closures默认命名空间连接的套接字。

我也尝试使用删除默认名称空间

 delete io.nsps['/']; 

似乎没有工作。

我是socket.io的新手。 任何解决scheme来解决它?