Go と Gorilla WebSocket を使用して特定のクライアントにプライベート メッセージを送信する方法

Mary-Kate Olsen
リリース: 2024-10-29 05:34:02
オリジナル
942 人が閲覧しました

How to Send Private Messages to Specific Clients Using Go and Gorilla WebSocket?

Go と Gorilla WebSocket を使用して特定のクライアントに送信する方法

WebSocket の世界では、次の宛先にメッセージを送信できることが重要です。すべての人にブロードキャストするのではなく、特定のクライアントに配信します。これに関連して、Go と Gorilla Websocket は、このニーズに対処するソリューションを提供します。

一意の識別子の作成

各クライアントを一意に識別するには、カスタム ID 生成を利用できます。ユーザー登録時の仕組み。 userId フィールドを接続構造に追加します。この一意の ID は、データベース内の対応するユーザーへのリンクとして機能します。

プライベート メッセージ配信

特定のクライアントにメッセージを送信する鍵は、メッセージを変更することにあります。ブロードキャストの仕組み。チャットの例では、ブロードキャスト チャネル h.broadcast を使用して、接続しているすべてのユーザーにメッセージを配信します。プライベート メッセージを送信するには、特定の userId を対象とする新しいメソッドを導入する必要があります。

次のコード スニペットは、ブロードキャスト メッセージ処理の更新されたコードを示しています。

<code class="go">case m := <-h.broadcast:
    for c := range h.connections {
        if c.userId == m.RecipientId {
            select {
            case c.send <- m:
            default:
                close(c.send)
                delete(h.connections, c)
            }
        }
    }
}</code>
ログイン後にコピー

この変更されたコードではの場合、メッセージは、userId がメッセージ m の RecipientId フィールドと一致するクライアントにのみ送信されます。これにより、プライベート メッセージが意図した受信者にのみ確実に配信されます。

結論

一意の ID 生成を実装し、メッセージ ブロードキャスト メカニズムをカスタマイズすることにより、Go とゴリラ WebSocket は、特定のクライアントにメッセージを配信するための堅牢なソリューション。これにより、よりパーソナライズされたインタラクティブな WebSocket アプリケーションの開発が可能になります。

以上がGo と Gorilla WebSocket を使用して特定のクライアントにプライベート メッセージを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート