在 Go 中,可以使用 gorilla/websocket 套件發送 WebSocket 訊息。具體步驟:建立 WebSocket 連線。傳送文字訊息:呼叫 WriteMessage(websocket.TextMessage, []byte("訊息"))。發送二進位訊息:呼叫 WriteMessage(websocket.BinaryMessage, []byte{1, 2, 3})。
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中文網其他相關文章!