如果您在特定命名空间/房间中有一个客户端执行socket.emit而您在服务器上执行“socket on”,那么如何将命名空间原点捕获为字符串?
IE:
客户端:
socket.emit('foo', $('#bar').val());
return false;
服务器:
socket on('foo', function (foo) {
var usersubmitteddata = foo
var namespaceorigin = ???
});
答案 0 :(得分:1)
要列出套接字所属的房间,请使用socket.rooms
:
console.log(socket.rooms);
socket.io不公开客户端连接的命名空间,但是您可以在服务器上看到socket.nsp.name
的当前命名空间,并且该服务器上存在socket.nsp.server.nsps
。
必须在连接之前创建客户端应连接到的命名空间。如果不是,您将收到Invalid namespace
错误消息。但之后它实际上是包含命名空间的每条消息,而不是套接字。在协议本身中,您可以让客户端在不同的名称空间上发送消息。