Go WebSocket 用戶端連線指南下列步驟示範如何使用 Go 的 gorilla/websocket 套件與 WebSocket 伺服器建立連線:匯入必要庫: 匯入 github.com/gorilla/websocket 套件並其他必要的套件。撥接連線: 使用 DefaultDialer.Dial 函數連線到伺服器,提供伺服器 URL。傳送訊息: 使用 WriteMessage 函數向伺服器傳送訊息。讀取訊息: 使用 ReadMessage 函數從伺服器讀取回應訊息。
WebSocket 是建立在 TCP 之上的全雙工通訊協議,允許客戶端和伺服器進行雙向通訊。在 Go 中使用 WebSocket 時,你需要連接到伺服器才能進行通訊。
以下範例示範如何使用Go 的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
用於發送二進位訊息。你可以根據需要使用不同的訊息類型。
以上是Go WebSocket 用戶端如何連線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!