Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengecualikan Pengirim daripada Siaran Socket.IO?

Bagaimana untuk Mengecualikan Pengirim daripada Siaran Socket.IO?

Barbara Streisand
Barbara Streisandasal
2024-10-31 02:02:29232semak imbas

How to Exclude the Sender from Socket.IO Broadcasts?

Menghantar Respons kepada Semua Pelanggan Kecuali Pengirim

Untuk menyiarkan mesej kepada semua pelanggan yang disambungkan, fungsi io.sockets.emit() ialah digunakan. Walau bagaimanapun, apabila anda ingin mengecualikan pengirim daripada menerima siaran, anda mungkin tertanya-tanya tentang pendekatan yang lebih mudah daripada menyemak ID pengirim pada bahagian klien.

Dalam Socket.IO, sifat socket.broadcast menyediakan penyelesaian untuk senario ini. Dengan menggunakan socket.broadcast.emit(), anda boleh menghantar mesej kepada semua pelanggan kecuali pengirim. Berikut ialah contoh:

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

Dalam contoh ini, apabila pelanggan menghantar acara 'kursor', pelayan menyiarkan data yang diterima kepada semua pelanggan lain yang disambungkan, tidak termasuk pengirim.

Inilah ringkasan fungsi Socket.IO emit untuk rujukan anda:

  • socket.emit(): Menghantar mesej kepada penghantar-klien sahaja.
  • io.emit(): Menghantar mesej kepada semua pelanggan, termasuk pengirim.
  • socket.broadcast.emit(): Menghantar mesej kepada semua pelanggan kecuali pengirim.
  • socket.broadcast.to(): Menghantar mesej kepada semua pelanggan dalam bilik atau saluran tertentu, kecuali pengirim.
  • socket.to(): Menghantar mesej kepada pelanggan-pengirim, hanya jika mereka berada dalam bilik atau saluran tertentu.
  • io.in(): Menghantar mesej kepada semua pelanggan dalam bilik atau saluran tertentu, termasuk pengirim.
  • socket.broadcast.to(socketid): Menghantar mesej kepada ID pelanggan tertentu.
  • io.of(): Menghantar mesej kepada semua pelanggan dalam ruang nama tertentu, termasuk pengirim.

Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Pengirim daripada Siaran 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