Menyiarkan Mesej Websocket dalam Go Menggunakan Gorilla Websocket untuk Pelanggan Tertentu
Dalam bidang pembangunan websocket dengan Go dan Gorilla Websocket, mengendalikan real- aplikasi dunia selalunya memerlukan pengedaran mesej terpilih kepada pelanggan tertentu dan bukannya penyiaran kepada semua orang. Artikel ini meneroka cara ini boleh dicapai.
Mengenal pasti Pelanggan Unik
Untuk mendayakan penghantaran mesej yang disasarkan, langkah utama ialah mengenal pasti pelanggan secara unik. Penyelesaian yang dicadangkan melibatkan penjanaan ID unik untuk setiap pelanggan semasa pendaftaran, yang kemudiannya disimpan dalam sifat struktur sambungan.
Mengurus Sambungan Pelanggan
Hab Gorilla Websocket struktur berfungsi sebagai repositori pusat untuk menguruskan sambungan pelanggan. Ia mengandungi kumpulan sambungan yang memudahkan penyiaran mesej kepada semua pelanggan yang disambungkan.
Siaran lwn. Mesej Peribadi
Untuk mengendalikan mesej peribadi, kaedah tambahan harus dilaksanakan dalam hab. Kaedah ini mengambil ID pengguna dan mesej, kemudian berulang ke atas kumpulan sambungan, menyemak sama ada ID pengguna pelanggan sepadan dengan ID pengguna yang diberikan. Untuk pelanggan yang sepadan, ia menghantar mesej secara terus.
Contoh Kod
Pseudokod berikut menggambarkan proses menghantar mesej peribadi:
<code class="go">func SendPrivateMessage(userId, message string) { for c := range hub.connections { if c.userId == userId { select { case c.send <- message: default: close(c.send) delete(hub.connections, c) } } } }</code>
Dengan menggunakan pendekatan ini, pembangun boleh mewujudkan pengedaran mesej terpilih dalam aplikasi soket web mereka, membolehkan komunikasi disasarkan disesuaikan dengan pengguna tertentu.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Mesej Websocket kepada Pelanggan Tertentu dalam Go Menggunakan Gorilla Websocket?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!