Отправка обновлений 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