Go で特定のクライアントに WebSocket 更新を送信する (ゴリラ)
Go の初心者にもかかわらず、WebSocket 通信の実装に関するガイダンスを求めています。先行入力プロジェクト。 Gorilla の GitHub リポジトリの例を活用しようとしましたが、特定のクライアントをどのように識別して WebSocket 更新の対象にするかを理解する際に課題に直面しました。
クライアントを一意に識別するには、Gorilla ハブとクライアントの構造体を変更して、 IDフィールド。このフィールドは、int や string などのタイプにすることができます。
ハブ構造内で、この ID タイプをキーとして使用し、接続オブジェクトを値として使用するマップで接続マップを置き換えます。
connections map[idType]*connection
さらに、メッセージ データとターゲット クライアント ID の両方を含むカスタム メッセージ タイプを使用するように、ハブ構造体のブロードキャスト フィールドを変更します:
send chan message
ブロードキャスト メッセージの送信を担当する for ループを、特定のクライアントにメッセージを送信する次のコードに置き換えます。
for {
select {
case client := 特定のクライアントにメッセージを送信するには、ターゲット クライアントの ID を指定してメッセージを作成します:
hub.send これらの変更を実装することで、Go アプリケーションの特定のクライアントにターゲットを絞った WebSocket アップデートを送信できるようになります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3