ホームページ  >  記事  >  バックエンド開発  >  Go WebSocket メッセージを送信するにはどうすればよいですか?

Go WebSocket メッセージを送信するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-06-03 16:53:011044ブラウズ

Go では、gorilla/websocket パッケージを使用して WebSocket メッセージを送信できます。具体的な手順: WebSocket 接続を確立します。テキスト メッセージを送信します。 WriteMessage(websocket.TextMessage, []byte("message")) を呼び出します。バイナリ メッセージを送信するには、WriteMessage(websocket.BinaryMessage, []byte{1, 2, 3}) を呼び出します。

Go WebSocket 消息如何发送?

Go WebSocket メッセージを送信するにはどうすればよいですか?

WebSocket は、単一の TCP 接続を介した全二重通信のための高レベルのプロトコルです。 Go では、標準ライブラリの [gorilla/websocket](https://godoc.org/github.com/gorilla/websocket) パッケージを使用して WebSocket メッセージを送信できます。

テキスト メッセージを送信する

テキスト メッセージを送信する方法は次のとおりです:

func main() {
    ws, _, err := websocket.DefaultDialer.Dial("ws://localhost:8080", nil)
    if err != nil {
        log.Fatal(err)
    }

    if err := ws.WriteMessage(websocket.TextMessage, []byte("Hello world!")); err != nil {
        log.Fatal(err)
    }
}

バイナリ メッセージを送信する

バイナリ メッセージを送信するには、メッセージ タイプとして websocket.BinaryMessage を使用します: websocket.BinaryMessage 作为消息类型:

func main() {
    ws, _, err := websocket.DefaultDialer.Dial("ws://localhost:8080", nil)
    if err != nil {
        log.Fatal(err)
    }

    if err := ws.WriteMessage(websocket.BinaryMessage, []byte{1, 2, 3}); err != nil {
        log.Fatal(err)
    }
}

实战案例:聊天室

在聊天室中,客户端通过 WebSocket 连接发送消息。以下是客户端代码:

func main() {
    ws, _, err := websocket.DefaultDialer.Dial("ws://localhost:8080", nil)
    if err != nil {
        log.Fatal(err)
    }

    msg := "Hello from client!"
    if err := ws.WriteMessage(websocket.TextMessage, []byte(msg)); err != nil {
        log.Fatal(err)
    }
}

这将向服务器发送一条包含文本消息 Hello from client!rrreee

実際の例: チャット ルーム 🎜🎜 チャット ルームでは、クライアントは WebSocket 接続経由でメッセージを送信します。クライアント コードは次のとおりです: 🎜rrreee🎜 これは、テキスト メッセージ Hello from client! を含む WebSocket メッセージをサーバーに送信します。 🎜

以上がGo WebSocket メッセージを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。