Socket.io는 이것을 매우 쉽게 만듭니다. 네임 스페이스와 방이 있습니다. 예를 들어 두 개의 다른 네임 스페이스를 만들려면 다음을 수행하십시오.
var io = require('socket.io').listen(app, {origins: '*:*', log: false});
var page1 = io.of('/page1').on('connection', function (socket) {
//you can use socket in here
});
var page2 = io.of('/page2').on('connection', function (socket) {
//you can use socket in here
});
이제 네 개의 네임 스페이스가 있습니다. 각각의 내부에서 이벤트를들을 수 있습니다. 예를 들어 유형 이벤트를 보낸 경우 :
socket.on('type', function(text){
io.sockets.emit('type', {'whatWasTyped': text]);
}
이렇게하면 연결된 모든 클라이언트에 유형 이벤트가 전송됩니다.
네임 스페이스를 훨씬 더 분리하려면 방을 만들 수 있습니다. 다음은 네임 스페이스에 방을 만드는 방법입니다 :
var page1 = io.of('/page1').on('connection', function (socket) {
socket.on('add', function(area){
socket.join(area);
};
});
당신이 가입 할 것 방와의 연결을 만든 추가 이벤트 매번 전송해야합니다. 그러면 해당 방으로 메시지를 보낼 수 있습니다.
io.of('/users').in(area).emit('event', {'event': yourInfoHere});
당신은 실행하여 연결에 대한 정보를 얻을 수 있습니다 https://github.com/LearnBoost/socket.io/wiki/Rooms :
socket.get('user', function(err, info){ //in here });
이 내 머리 위로 떨어져와 socket.io 위키에서 약간의 정보이었다.
아직 테스트하지 않았으므로 몇 가지 질문이 있으면 알려주십시오.