Socket.io 获取套接字所属的命名空间
Socket.io get the namespace a socket belongs to
有没有办法获取套接字命名空间?我尝试了各种方法,但无法正常工作。给定一个套接字对象,我希望能够知道它属于哪个命名空间。非常感谢。
例如
nsp = io.of('/' + venue_code).on('connection', function(socket) {
socket.namespace = nsp
if (typeof servers[nsp.name] == 'undefined') {
servers[nsp.name] = socket.id
winston.debug("Server " + socket.id + " connected to " + nsp.name)
socket.room = "servers"
socket.join(socket.room)
} else {
socket.room = "clients"
socket.join(socket.room)
winston.debug("Client " + socket.id + " connected to " + nsp.name)
}
只是socket.nsp
,给出了整个Namespace
对象。使用 socket.nsp.name
获取实际名称。
nsp = io.of('/' + venue_code).on('connection', function(socket) {
winston.debug(socket.nsp)
}
请注意,如果您将同一个处理程序附加到根命名空间,您将获得根命名空间——那些中间件 运行 before 正确的命名空间是附上。
有没有办法获取套接字命名空间?我尝试了各种方法,但无法正常工作。给定一个套接字对象,我希望能够知道它属于哪个命名空间。非常感谢。
例如
nsp = io.of('/' + venue_code).on('connection', function(socket) {
socket.namespace = nsp
if (typeof servers[nsp.name] == 'undefined') {
servers[nsp.name] = socket.id
winston.debug("Server " + socket.id + " connected to " + nsp.name)
socket.room = "servers"
socket.join(socket.room)
} else {
socket.room = "clients"
socket.join(socket.room)
winston.debug("Client " + socket.id + " connected to " + nsp.name)
}
只是socket.nsp
,给出了整个Namespace
对象。使用 socket.nsp.name
获取实际名称。
nsp = io.of('/' + venue_code).on('connection', function(socket) {
winston.debug(socket.nsp)
}
请注意,如果您将同一个处理程序附加到根命名空间,您将获得根命名空间——那些中间件 运行 before 正确的命名空间是附上。