「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Go (Gorilla) で特定の Websocket メッセージをクライアントに送信する方法

Go (Gorilla) で特定の Websocket メッセージをクライアントに送信する方法

2024 年 11 月 8 日に公開
ブラウズ:194

How to Send a Specific Websocket Message to a Client in Go (Gorilla)?

Go でクライアントに特定の Websocket メッセージを送信する (Gorilla を使用)

Websocket は、低遅延通信のための接続指向プロトコルを提供しますクライアントとサーバーの間。 Go では、Gorilla を含むいくつかのフレームワークが WebSocket の処理を​​簡素化します。ただし、特定のクライアントにメッセージを送信する方法を理解するのは難しい場合があります。

クライアントとサーバーのセットアップ

Gorilla では、サーバーはクライアント接続を管理するためのハブを確立します。ハブには、メッセージをブロードキャストするためのクライアントとチャネルのマ​​ップが含まれています。各クライアントには WebSocket 接続と送信チャネルがあります。

特定のクライアントの識別

特定のクライアントにメッセージを送信するには、メッセージを一意に識別する方法が必要です。 。通常、これはクライアント構造体に一意の ID フィールドを作成することによって行われます。

特定のメッセージの送信

特定のクライアントにメッセージを送信するには、次のいずれかを実行できます。ハブを変更するか、クライアントの WebSocket 接続に直接書き込みます。ハブを変更するには、ターゲットのクライアント ID とデータを含むメッセージ タイプを作成する必要があります。次に、ブロードキャスト チャネルをメッセージ チャネルに置き換え、それに応じてハブの for ループを変更します。

type message struct {
    ID idType
    data []byte
}

func (h *Hub) run() {
    for {
        select {
        case client := 

特定のクライアントにメッセージを送信するには、次のようになります:

hub.send 

あるいは、 NextWriter または WriteMessage を使用して、クライアントの WebSocket 接続に直接書き込むことができます。このアプローチでは、各クライアントへの接続を維持し、接続へのシングルスレッド書き込みを保証する必要があります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3