lang/node

socket.io rooms 기능

C/H 2015. 11. 23. 08:30

Rooms

#룸 가입, 탈퇴
socket.join('room');
socket.leave('room');


#나를 제외한 룸 내 모든이에게 메세지 보내기
socket.broadcast.to('room').emit('event', {});

# 특정 소켓 사용자에게 메세지 보내기 
io.sockets(socket_id).emit('event', {});

# 룸내 전체 사용자(나를 포함) 메세지 보내기
io.sockets.in('room').emit('event_name', {})

# 룸전체 목록
io.sockets.manager.rooms

# 클라이언트가 가입한 룸 목록
io.sockets.manager.roomClients[socket.id]

# 룸에 있는 모든 클라이언트 목록
io.sockets.clients('roomid') // 0.9.17 에서는 에러 
== io.sockets.manager.rooms['/roomid']


manager = io.sockets.adapter ? { 	// socket.io 1.0 이상
	rooms : io.sockets.adapter.rooms,
	/* { clientid : { clientid: true },
		 clientid : { clientid: true },
		 roomid : { clientid: true, clientid : true },
		 roomid : { clientid: true, clientid : true }
	 } */
	clients : io.sockets.adapter.sids
	/* { clientid : { clientid: true, roomid: true },
		 clientid : { clientid: true, roomid: true }
	 } */
} : {								// socket.io 1.0 미만
	rooms : io.sockets.manager.roomClients,
	clients : io.sockets.manager.rooms
};
반응형

'lang > node' 카테고리의 다른 글

Upgrade socket.io 1.3.7 On Express 4.13.3  (0) 2015.11.30
nodeclipse debug  (0) 2015.11.25
npm extraneous  (0) 2015.11.19
nodejs 버전 업그레이드  (0) 2015.11.19
nodeclipse io.sockets.in 문법에러  (0) 2015.11.17