正如socket.io文档所说,您可以在客户端脚本中使用此代码加入namespace
:
io.connect('http://localhost');
据我所知,没有提供向服务器中的namespace
添加套接字的方法,但我能够向namespace
添加套接字(在服务器中)使用类似于以下的代码:
socket.join('somenamespace');
io.of('somenamespace').emit('some-message', { ... });
执行第二行后,会触发connection
的{{1}}事件。
为什么会这样?使用这种方法将套接字添加到服务器端的命名空间是否正确?
是否有正确的方法可以将套接字添加到服务器端的'somenamespace'
?
请注意,我正在使用namespace
和socket.io 0.9.14
。
提前致谢。
答案 0 :(得分:1)
这不是向namespaces
添加套接字的正确方法。如果您在服务器中定义了名称空间:
var namespace1 = io.of('/namespace1');
namespace1.on('connection', function(socket){
socket.emit('msg',"message"); //only the particular socket from /namespace1 will get
});
//If you do this
namespace1.emit('msgToAll', "message"); //everyone in namespace1 will get this message
但是,房间与名称空间不同。 您可以通过以下方式从客户端连接到特定的命名空间:
io.connect('http://localhost:port/namespace');