2013-05-13 53 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'); 
});