Cara Menghantar Respons kepada Semua Pelanggan Kecuali Pengirim dalam Socket.IO
Untuk menghantar mesej kepada semua pelanggan yang disambungkan dalam Socket.IO, anda biasanya menggunakan kaedah io.sockets.emit(). Walau bagaimanapun, anda mungkin menghadapi situasi di mana anda perlu menyiarkan mesej secara terpilih kepada semua pelanggan kecuali pengirim.
Untuk mencapainya, anda boleh menggunakan kaedah socket.broadcast.emit() yang disediakan oleh Socket.IO. Kaedah ini membolehkan anda menghantar mesej kepada semua pelanggan yang disambungkan selain daripada yang memulakan permintaan.
Pertimbangkan coretan berikut:
<code class="javascript">socket.broadcast.emit('message', "this is a test");</code>
Dalam contoh ini, mesej dengan teks " ini adalah ujian" akan dihantar kepada semua pelanggan yang disambungkan kecuali pelanggan yang menghantar mesej.
Anda juga boleh menggunakan sifat siaran tanpa menyatakan nama acara tertentu, yang akan menyiarkan sebarang acara yang dipancarkan kepada semua pelanggan kecuali penghantar. Contohnya:
<code class="javascript">socket.broadcast.emit({ event: 'message', data: "this is a test" });</code>
Pendekatan alternatif ini membolehkan anda menentukan data tambahan bersama-sama dengan nama acara dalam mesej.
Dengan menggunakan teknik ini, anda boleh menyiarkan mesej dengan berkesan kepada semua pelanggan yang berkaitan sambil mengecualikan pengirim asal, membolehkan anda melaksanakan mekanisme komunikasi interaktif dan disasarkan dalam aplikasi Socket.IO anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Pengirim Apabila Menyiarkan Mesej dengan Socket.IO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!