Senden von Websocket-Updates an bestimmte Clients in Go (Gorilla)
Obwohl Sie ein Go-Neuling sind, suchen Sie nach Anleitung zur Implementierung der Websocket-Kommunikation für Ihr Typeahead-Projekt. Sie haben versucht, Beispiele aus dem GitHub-Repository von Gorilla zu nutzen, stoßen jedoch auf Schwierigkeiten beim Verständnis, wie bestimmte Clients identifiziert und für Websocket-Updates gezielt ausgewählt werden können.
Um Clients eindeutig zu identifizieren, müssen Sie die Gorilla-Hub- und Client-Strukturen so ändern, dass sie eine enthalten ID-Feld. Dieses Feld kann einen Typ wie „int“ oder „string“ haben.
Ersetzen Sie innerhalb der Hub-Struktur die Verbindungszuordnung durch eine Zuordnung, die diesen ID-Typ als Schlüssel und Verbindungsobjekt als Wert verwendet:
connections map[idType]*connection
Ändern Sie außerdem das Broadcast-Feld in der Hub-Struktur, um einen benutzerdefinierten Nachrichtentyp zu verwenden, der sowohl die Nachrichtendaten als auch die Ziel-Client-ID enthält:
send chan message
Ersetzen Sie die for-Schleife, die für das Senden von Broadcast-Nachrichten verantwortlich ist, durch den folgenden Code, um Nachrichten an bestimmte Clients zu senden:
for {
select {
case client := Um Nachrichten an bestimmte Clients zu senden, erstellen Sie eine Nachricht unter Angabe der ID des Zielclients:
hub.send Durch die Implementierung dieser Änderungen können Sie jetzt gezielte Websocket-Updates an bestimmte Clients in Ihrer Go-Anwendung senden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3