Webアプリケーションにリアルタイム通知機能を実装したいと考えています。私はこの例 "https://github.com/gorilla/websocket/tree/master/examples/chat"に従っています。メッセージを取得するにはサーバー(ハブ)が必要です。何らかのIDのフォームに基づいて個々のクライアントにメッセージをプッシュする必要があります。これどうやってするの?リアルタイムプッシュ通知golang
答えて
あなたが言及したサンプルから:
case message := <-h.broadcast:
for client := range h.clients {
select {
case client.send <- message:
default:
close(client.send)
delete(h.clients, client)
}
}
}
これは、メッセージがすべてのクライアントに放送された場合です。ご覧のように、登録されているすべてのクライアントをループして、そのすべてのクライアントにメッセージを送信します。
この機能を維持するために、別のケースを追加するだけです。単一のクライアントに送信します。
case message := <-h.clientMessage:
for client := range h.clients {
if message.ClientID == client.ID {
select {
case client.send <- message:
default:
close(client.send)
delete(h.clients, client)
}
}
}
}
これはあなたに考えを与えるはずです。私はあなたに残す残りの部分。
注:私のサンプルコードは、例えば、 map[clientID]Client
を使用してクライアントに直接アクセスします。
@ TehSphinX-接続の作成時にClient.IDをどのように送信しましたか?セッションの値と一致するClient.IDが必要です – amanda45
接続時にセッションIDをCookieに送信できますか?マップは[SessionID]クライアントにマップすることができますか? – amanda45
SessionID(またはClientID)は、クライアントではなくサーバーから取得されます。新しいクライアントがサーバーに接続するときに、そのサーバーに一意のIDを割り当てる必要があります。使用しているサーバーによって既に作成されたSessionIDを使用することは賢明かもしれません。 TehSphinX-どのように私はのWebSocketはので、私はこの1つに答えるためにセッションID – TehSphinX
- 1. Firebaseでのリアルタイムプッシュ通知
- 2. Golangの通知センター
- 3. PHPでのリアルタイムプッシュ通知のためのより良い選択を探してください
- 4. redigo golangクライアントはキースペースイベント通知をサポートしていますか?
- 5. Golang - 通知のIDにリンクされたソケットのスライス
- 6. Toast通知の通知ハブキャッシュ
- 7. Azure通知ハブ、通知ログ
- 8. サイレントプッシュ通知とノーマルプッシュ通知
- 9. Firebaseプッシュ通知 - 通知
- 10. Jmoiron SQLX Golang共通インタフェース
- 11. イオンプッシュ通知が通知バーに通知を表示しない
- 12. リアルタイムプッシュが動作しなくなった
- 13. Django/Redis/Node.jsを使用したリアルタイムプッシュ/プル
- 14. golang websocketブラウザが予期せず閉じられたときの通知方法
- 15. 新Macで通知通知をプッシュ
- 16. Javaのスケジュール通知メール通知
- 17. iOSアプリのEmoji - 通知/通知 - Xcode/Swift
- 18. ローカル通知とプッシュ通知のRx_Swift
- 19. Googleプッシュ通知:通知を停止
- 20. Q通知と通知の実装
- 21. アカウント通知に基づくプッシュ通知
- 22. アンドロイドFirebase通知プッシュ通知getSubText
- 23. 通知通知のテキスト情報
- 24. イオン2ローカル通知とプッシュ通知
- 25. 通知?
- 26. 通知リストから永続通知を削除する(通知API)
- 27. 通知が通知されたときに通知を受け取る方法
- 28. 通帳更新通知メッセージ
- 29. 通話状態の通知
- 30. iOsプッシュ通知
試しましたか? [最小、完全で検証可能な例](https://stackoverflow.com/help/mcve)を投稿し、それが意図したとおりに機能しなかったことを説明できますか? – Adrian
@ Adrian-サンプルのチャットアプリケーションがあります。特定のユーザーにmsgを送信するしか方法がわかりません。現在、msgは接続されているすべてのクライアントに送信されます。 – amanda45
あなたのコードはどこですか? – Flimzy