io.sockets.emit과 socket.broadcast.emit의 차이점은 무엇입니까? 브로드 캐스트 만 모든 사람에게 방출되지만이를 전송하는 소켓입니까?
서로 바꿔서 사용할 수있는 것 같습니다.
io.sockets.on('connection', function (socket) {
//these should do the same thing
io.sockets.emit('this', { receivers: 'everyone'});
socket.broadcast.emit('this', { receivers: 'everyone but socket'}); //emits to everyone but socket
socket.emit('this', { receivers: 'socket'}); //emits to socket
});
답변
io.sockets.emit 모든 클라이언트에게 보낼 것입니다
socket.broadcast.emit 새로 생성 된 연결을 제외한 다른 모든 클라이언트에 메시지를 보냅니다.
답변
socket.broadcast.emit()와 유사하게 작동 io.sockets.emit하지만 연결된 모든 소켓으로 방출하는 대신 호출되는 소켓을 제외한 모든 연결된 소켓으로 방출합니다. 따라서이 경우에서 참조하는 소켓 socket은 이벤트를 수신하지 않습니다.
답변
시나리오 : 1 : -io.sockets.emit
세부 다이어그램 사용 : -io.sockets.emit
여기서 모든 소켓은 Initiator를 포함한 메시지를받습니다 .
// BY IO>SOCKETS>EMIT
io.sockets.emit('MyChannelBroadcast',
{
owner:"Anshu Ashish",
clientCount:clients,
message:"Welcome All"
}
);
시나리오 : 2 : -socket.broadcast.emit
사용 상세 다이어그램 : -socket.broadcast.emit
여기에 모든 소켓은 하나의 예를 제외하고 메시지를 받고 기자 .
// BY SOCKET>BROADCAST>EMIT
socket.broadcast.emit('BroadCastExceptMe',{data:"HAVE A NICE DAY"});
결론 :-이제 어느 것이 더 좋을지 우리의 비즈니스 요구 사항에 전적으로 달려 있습니다.
