Heim > Artikel > Backend-Entwicklung > Wie stellt der Go WebSocket-Client eine Verbindung her?
Go WebSocket Client-Verbindungsanleitung Die folgenden Schritte zeigen, wie Sie mit dem Gorilla/Websocket-Paket von Go eine Verbindung mit einem WebSocket-Server herstellen: Importieren Sie die erforderlichen Bibliotheken: Importieren Sie das Paket github.com/gorilla/websocket und andere erforderliche Pakete. DFÜ-Verbindung: Verwenden Sie die Funktion DefaultDialer.Dial, um eine Verbindung zum Server herzustellen und geben Sie dabei die Server-URL an. Senden einer Nachricht: Verwenden Sie die WriteMessage-Funktion, um eine Nachricht an den Server zu senden. Nachricht lesen: Verwenden Sie die ReadMessage-Funktion, um die Antwortnachricht vom Server zu lesen.
WebSocket ist ein auf TCP basierendes Vollduplex-Kommunikationsprotokoll, das eine bidirektionale Kommunikation zwischen dem Client und dem Server ermöglicht. Wenn Sie WebSockets in Go verwenden, müssen Sie zur Kommunikation eine Verbindung zu einem Server herstellen.
Das folgende Beispiel zeigt, wie das github.com/gorilla/websocket
-Paket von Go zum Herstellen einer WebSocket-Client-Verbindung verwendet wird: 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 服务器。那么你可以使用以下代码建立客户端连接:
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
rrreee
localhost:8080
läuft. websocket.BinaryMessage
verwendet, um eine binäre Nachricht zu senden. Sie können je nach Bedarf verschiedene Nachrichtentypen verwenden. 🎜Das obige ist der detaillierte Inhalt vonWie stellt der Go WebSocket-Client eine Verbindung her?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!