«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как отправлять целевые обновления Websocket определенным клиентам в Go (Gorilla)?

Как отправлять целевые обновления Websocket определенным клиентам в Go (Gorilla)?

Опубликовано 9 ноября 2024 г.
Просматривать:328

How to Send Targeted Websocket Updates to Specific Clients in Go (Gorilla)?

Отправка обновлений Websocket конкретным клиентам в Go (Gorilla)

Несмотря на то, что вы новичок в Go, вы ищете рекомендации по реализации связи через Websocket для ваш предварительный проект. Вы пробовали использовать примеры из репозитория Gorilla GitHub, но столкнулись с трудностями при понимании того, как можно идентифицировать конкретных клиентов и нацеливать их на обновления веб-сокетов.

Чтобы однозначно идентифицировать клиентов, вам необходимо изменить структуры концентратора и клиента Gorilla, включив в них Поле идентификатора. Это поле может иметь такой тип, как int или string.

В структуре Hub замените карту соединений картой, которая использует этот тип идентификатора в качестве ключа и объект соединения в качестве значения:

connections map[idType]*connection

Кроме того, измените поле широковещания в структуре Hub, чтобы использовать собственный тип сообщения, содержащий как данные сообщения, так и цель. идентификатор клиента:

send chan message

Замените цикл for, отвечающий за отправку широковещательных сообщений, на следующий код для отправки сообщений конкретным клиентам:

for {
    select {
    case client := 

Чтобы отправлять сообщения определенным клиентам, создайте сообщение, указав идентификатор целевого клиента:

hub.send  

Внедрив эти изменения, вы теперь можете отправлять целевые обновления веб-сокетов определенным клиентам в вашем приложении Go.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3