Go WebSocket クライアントはどのように接続しますか?
Jun 01, 2024 am 10:57 AMGo WebSocket クライアント接続ガイド 次の手順は、Go の Gorilla/websocket パッケージを使用して WebSocket サーバーとの接続を確立する方法を示しています。 必要なライブラリをインポートします。 github.com/gorilla/websocket パッケージおよびその他の必要なパッケージをインポートします。ダイヤルアップ接続: DefaultDialer.Dial 関数を使用してサーバーに接続し、サーバー URL を指定します。メッセージの送信: WriteMessage 関数を使用して、サーバーにメッセージを送信します。メッセージを読み取る: ReadMessage 関数を使用して、サーバーからの応答メッセージを読み取ります。
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 クライアントからこのサーバーに接続してメッセージを送信したいと考えています。
websocket.BinaryMessage
を使用してバイナリ メッセージを送信します。ニーズに応じて、さまざまなメッセージ タイプを使用できます。 🎜以上がGo WebSocket クライアントはどのように接続しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Golang の技術的なパフォーマンスの最適化でメモリ リークを回避するにはどうすればよいですか?

Go で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか?

IDE で Golang 関数のドキュメントを表示するにはどうすればよいですか?
