socket.io的命名空间(namespace)和房间(room)

socket.io的命名空间(namespace)和房间(room)

 

socket.io支持命名空间和房间

默认是的命名空间是 '/'

没有默认的房间

socket, room, namespace三者关系

socket 一定是属于某个namespace,

room 一定是属于某个namespace,

socket可以在某个房间或者不在任何房间

使用of来创建命名空间:

var nsp = io.of('/my-namespace');
nsp.on('connection', function(socket){
  console.log('someone connected'):
});
nsp.emit('hi', 'everyone!');

客户端可以使用

var socket = io('/my-namespace');

链接到这个命名空间

通常使用默认命名空间,所以可以使用省去命名空间名字,

var socket = io('/');

或者

var socket = io();

房间(room)

创建和加入房间是同一个函数 join

socket.join('some room');

离开房间

socket.leave('some room');

给一个房间的中的所有客户端发消息:

io.to('some room')emit(message);

 

或者

io.sockets.in('some room').emit( message );

 

参考:

http://socket.io/docs/rooms-and-namespaces/

 

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章转载自:IT夜班车,否则按侵权处理.

    分享到:

留言

你的邮箱是保密的 必填的信息用*表示