ホームページ  >  記事  >  バックエンド開発  >  Go WebSocket クライアントはどのように接続しますか?

Go WebSocket クライアントはどのように接続しますか?

WBOY
WBOYオリジナル
2024-06-01 10:57:571049ブラウズ

Go WebSocket クライアント接続ガイド 次の手順は、Go の Gorilla/websocket パッケージを使用して WebSocket サーバーとの接続を確立する方法を示しています。 必要なライブラリをインポートします。 github.com/gorilla/websocket パッケージおよびその他の必要なパッケージをインポートします。ダイヤルアップ接続: DefaultDialer.Dial 関数を使用してサーバーに接続し、サーバー URL を指定します。メッセージの送信: WriteMessage 関数を使用して、サーバーにメッセージを送信します。メッセージを読み取る: ReadMessage 関数を使用して、サーバーからの応答メッセージを読み取ります。

Go WebSocket 客户端如何连接?

Go WebSocket クライアント接続ガイド

WebSocket は、TCP 上に構築された全二重通信プロトコルで、クライアントとサーバー間の双方向通信を可能にします。 Go で WebSocket を使用する場合、通信するにはサーバーに接続する必要があります。

Go WebSocket クライアント接続コード

次の例は、Go の github.com/gorilla/websocket パッケージを使用して WebSocket クライアント接続を確立する方法を示しています。次のシナリオ: github.com/gorilla/websocket 包建立 WebSocket 客户端连接:

package main

import (
    "fmt"
    "log"

    "github.com/gorilla/websocket"
)

func main() {
    url := "ws://localhost:8080/ws"
    conn, _, err := websocket.DefaultDialer.Dial(url, nil)
    if err != nil {
        log.Fatal("dial:", err)
    }
    defer conn.Close()
    if err := conn.WriteMessage(websocket.BinaryMessage, []byte("Hello WebSocket!")); err != nil {
        log.Println("write:", err)
    }
    msgType, msg, err := conn.ReadMessage()
    if err != nil {
        log.Println("read:", err)
    }
    fmt.Printf("Received: %s\n", string(msg))
}

实战案例

假设你有以下场景:

  • 你有一个运行在 localhost:8080 上的 WebSocket 服务器。
  • 你想从 Go 客户端连接到该服务器并发送消息。

那么你可以使用以下代码建立客户端连接:

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

如果连接成功,你可以像下面这样发送消息到 WebSocket 服务器:

if err := conn.WriteMessage(websocket.BinaryMessage, []byte("Hello WebSocket!")); err != nil {
    log.Println("write:", err)
}

然后,你可以从服务器读取响应消息:

msgType, msg, err := conn.ReadMessage()
if err != nil {
    log.Println("read:", err)
}

在上述示例中,websocket.BinaryMessage

  • localhost:8080 で WebSocket サーバーが実行されています。
  • Go クライアントからこのサーバーに接続してメッセージを送信したいと考えています。
次に、次のコードを使用してクライアント接続を確立できます: 🎜rrreee🎜 接続が成功したら、次のように WebSocket サーバーにメッセージを送信できます: 🎜rrreee🎜 その後、次のことができます。サーバーからの応答を読み取ります メッセージ: 🎜rrreee🎜 上記の例では、websocket.BinaryMessage を使用してバイナリ メッセージを送信します。ニーズに応じて、さまざまなメッセージ タイプを使用できます。 🎜

以上がGo WebSocket クライアントはどのように接続しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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