2013-05-13 58 views
0

我想用namespacesroomsocket.io的功能。如何在socket.io的房间中创建/加入名称空间?

我知道这usefull reminder关于房间,我们可以看到:

  1. 的一种方式发射到插座上的命名空间的房间 io.of('namespace').in('room').emit('event_name', data)
  2. 一种方式来获得一个命名空间的房间套接字的列表 io.of('namespace').clients('room')

但这个页面desn't提供给我们的方式来create/join一个socket到特定namespace作为pecific room

如何做到这一点?我已尝试以下示例,但未取得任何成功:

socket.join('city').in('district'); 
io.of('district').clients('/city'); // get [] 
io.of('/district').clients('/city'); // get [] 

回答

1

您无法加入/退出命名空间。当您第一次连接时,命名空间是url的一部分

例如,连接到"http://localhost/district"将连接到"district"命名空间。

在服务器上,您可以加入客房该命名空间是这样的:

io.of('/district').on('connection', function(socket){ 
    socket.join('city'); 
});