首頁 >後端開發 >Golang >Go WebSocket 訊息如何發送?

Go WebSocket 訊息如何發送?

WBOY
WBOY原創
2024-06-03 16:53:011064瀏覽

在 Go 中,可以使用 gorilla/websocket 套件發送 WebSocket 訊息。具體步驟:建立 WebSocket 連線。傳送文字訊息:呼叫 WriteMessage(websocket.TextMessage, []byte("訊息"))。發送二進位訊息:呼叫 WriteMessage(websocket.BinaryMessage, []byte{1, 2, 3})。

Go WebSocket 消息如何发送?

Go WebSocket 訊息如何傳送?

WebSocket 是一種在單一 TCP 連線上進行全雙工通訊的高階協定。在 Go 中,我們可以使用標準函式庫中的 [gorilla/websocket](https://godoc.org/github.com/gorilla/websocket) 套件來傳送 WebSocket 訊息。

發送文字訊息

以下是如何傳送文字訊息:

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

    if err := ws.WriteMessage(websocket.TextMessage, []byte("Hello world!")); err != nil {
        log.Fatal(err)
    }
}

傳送二進位訊息

要傳送二進位訊息,請使用websocket. BinaryMessage 作為訊息類型:

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

    if err := ws.WriteMessage(websocket.BinaryMessage, []byte{1, 2, 3}); err != nil {
        log.Fatal(err)
    }
}

實戰案例:聊天室

在聊天室中,用戶端透過WebSocket 連線傳送訊息。以下是客戶端程式碼:

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

    msg := "Hello from client!"
    if err := ws.WriteMessage(websocket.TextMessage, []byte(msg)); err != nil {
        log.Fatal(err)
    }
}

這將向伺服器發送一條包含文字訊息 Hello from client! 的 WebSocket 訊息。

以上是Go WebSocket 訊息如何發送?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn