이벤트 브로드캐스트

특정 이벤트가 발생했을 때 사용자 모두에게 같은 이벤트를 보내야 할 때가 있습니다. 대표적으로 어떤 사용자가 메시지를 전송했을 때를 들 수 있겠네요. 그런 경우, 모든 사용자에게 같은 이벤트를 브로드캐스트하는 방법에 대해 알아봅시다.

그런데 이미 알고 있습니다.

socket.on('chat message', (msg) => {
  io.emit('chat message', msg);
});

바로 이전 편에서 만나 본 코드입니다. io.emit(event, property)은 해당 이벤트를 보낸 쪽을 포함한 모두에게 해당 이벤트와 프로퍼티를 전달합니다.

io.on('connection', (socket) => {
  socket.broadcast.emit('hi');
});

다만, socket을 발생시킨 쪽을 제외한 나머지에게만 브로드캐스트를 하고 싶을 때는 socket 객체의 broadcast flag를 사용합니다.

좋은 웹페이지 즐겨찾기