Heim > Backend-Entwicklung > Golang > Wie stellt der Go WebSocket-Client eine Verbindung her?

Wie stellt der Go WebSocket-Client eine Verbindung her?

WBOY
Freigeben: 2024-06-01 10:57:57
Original
1090 Leute haben es durchsucht

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.

Go WebSocket 客户端如何连接?

Go WebSocket Client Connection Guide

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.

Go WebSocket-Client-Verbindungscode

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))
}
Nach dem Login kopieren

实战案例

假设你有以下场景:

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

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

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

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

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

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

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

在上述示例中,websocket.BinaryMessagerrreee

Praktischer Fall🎜🎜Angenommen, Sie haben das Folgendes Szenario: 🎜
  • Sie haben einen WebSocket-Server, der auf localhost:8080 läuft.
  • Sie möchten von einem Go-Client aus eine Verbindung zu diesem Server herstellen und Nachrichten senden.
🎜 Dann können Sie den folgenden Code verwenden, um eine Client-Verbindung herzustellen: 🎜rrreee🎜 Wenn die Verbindung erfolgreich ist, können Sie eine Nachricht wie folgt an den WebSocket-Server senden: 🎜rrreee🎜 Dann können Sie Lesen Sie die Antwort vom Server. Nachricht: 🎜rrreee🎜Im obigen Beispiel wird 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!

Verwandte Etiketten:
go
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage