Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah klien Go WebSocket menyambung?

Bagaimanakah klien Go WebSocket menyambung?

WBOY
WBOYasal
2024-06-01 10:57:571049semak imbas

Panduan Sambungan Pelanggan Go WebSocket Langkah berikut menunjukkan cara menggunakan pakej gorila/websocket Go untuk mewujudkan sambungan dengan pelayan WebSocket: Import perpustakaan yang diperlukan: Import pakej github.com/gorilla/websocket dan pakej lain yang diperlukan. Sambungan dail: Gunakan fungsi DefaultDialer.Dial untuk menyambung ke pelayan, menyediakan URL pelayan. Menghantar mesej: Gunakan fungsi WriteMessage untuk menghantar mesej ke pelayan. Baca mesej: Gunakan fungsi ReadMessage untuk membaca mesej respons daripada pelayan.

Go WebSocket 客户端如何连接?

Go WebSocket Panduan Sambungan Pelanggan

WebSocket ialah protokol komunikasi dupleks penuh yang dibina pada TCP, membenarkan komunikasi dua hala antara pelanggan dan pelayan. Apabila menggunakan WebSockets dalam Go, anda perlu menyambung ke pelayan untuk berkomunikasi.

Kod sambungan klien Go WebSocket

Contoh berikut menunjukkan cara menggunakan pakej github.com/gorilla/websocket Go untuk mewujudkan sambungan klien 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.BinaryMessagerrreee

Kes praktikal🎜🎜Andaikan anda mempunyai Senario berikut: 🎜
  • Anda mempunyai pelayan WebSocket yang berjalan pada localhost:8080.
  • Anda mahu menyambung ke pelayan ini daripada klien Go dan menghantar mesej.
🎜 Kemudian anda boleh menggunakan kod berikut untuk mewujudkan sambungan pelanggan: 🎜rrreee🎜 Jika sambungan berjaya, anda boleh menghantar mesej ke pelayan WebSocket seperti ini: 🎜rrreee🎜 Kemudian, anda boleh baca respons daripada pelayan Mesej: 🎜rrreee🎜Dalam contoh di atas, websocket.BinaryMessage digunakan untuk menghantar mesej binari. Anda boleh menggunakan jenis mesej yang berbeza mengikut keperluan anda. 🎜

Atas ialah kandungan terperinci Bagaimanakah klien Go WebSocket menyambung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn