Apa perbedaan antara io.sockets.emit dan socket.broadcast.emit? Apakah hanya siaran yang memancarkan ke semua orang TETAPI soket yang mengirimkannya?
Sepertinya mereka dapat digunakan secara bergantian:
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
});
socket.broadcast.emit
sementara API itu tidak pernah didokumentasikan di mana pun.socket.broadcast.emit
dan mereka akan menerimanya, tetapi bukan Anda.socket.broadcast.emit()
berperilaku serupaio.sockets.emit
, tetapi alih-alih memancarkan ke semua soket yang terhubung, ia akan memancarkan ke semua soket yang terhubung kecuali yang sedang dipanggil. Jadi dalam hal ini soket yang dirujuk olehsocket
tidak akan menerima acara tersebut.sumber
Skenario: 1: - Dengan menggunakan io.sockets.emit Detil Diagram: -io.sockets.emit
Skenario: 2: - Dengan menggunakan socket.broadcast.emit Detil Diagram: -socket.broadcast.emit
Kesimpulan: - Sekarang ini akan sangat tergantung pada kebutuhan bisnis kita mana yang lebih disukai.
sumber