Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengecualikan Pengirim daripada Menerima Respons dalam Socket.IO?

Bagaimana untuk Mengecualikan Pengirim daripada Menerima Respons dalam Socket.IO?

DDD
DDDasal
2024-10-29 07:54:02436semak imbas

How to Exclude the Sender from Receiving a Response in Socket.IO?

Bagaimana untuk Menghantar Respons kepada Semua Pelanggan Kecuali Pengirim dalam Socket.IO?

Socket.IO menawarkan pelbagai kaedah untuk komunikasi antara pelanggan dan pelayan. Untuk menghantar mesej kepada semua pelanggan, anda boleh menggunakan io.sockets.emit('respons', data);. Walau bagaimanapun, apabila anda perlu mengecualikan pelanggan yang menghantar daripada menerima respons, pendekatan ini menjadi pendek.

Penyelesaian Mudah: socket.broadcast.emit()

The penyelesaian terletak pada menggunakan kaedah socket.broadcast.emit(). Kaedah ini menghantar mesej kepada semua pelanggan yang disambungkan kecuali yang menghantarnya. Penggunaannya adalah mudah:

<code class="javascript">socket.on('cursor', function(data) {
  socket.broadcast.emit('response', data);
});</code>

Dalam contoh ini, apabila pelanggan memancarkan acara 'kursor', pelayan menghantar semula data kepada semua pelanggan lain menggunakan socket.broadcast.emit().

Pilihan Penyiaran Tambahan

Socket.IO juga menyediakan pilihan penyiaran tambahan yang membolehkan kawalan lebih terperinci:

  • io.in(' room').emit(): Menghantar mesej kepada semua pelanggan dalam bilik yang ditentukan.
  • socket.to(socketID).emit(): Menghantar mesej kepada pelanggan tertentu menggunakan ID soket mereka.

Dengan memahami kaedah penyiaran ini, anda boleh mengurus komunikasi antara pelanggan dan pelayan dengan cekap, memastikan mesej sampai kepada penerima yang dimaksudkan sahaja.

Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Pengirim daripada Menerima Respons dalam Socket.IO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn