[英]Golang WebSocket connection
我開始學習 Golang。 我有這個項目,我需要 stream 通過 WebSocket 連接從 API 獲取一些數據,並在控制台中打印出來。
還有一點我不明白——我有一個 URL,所以我可以向它發出請求(通過 .net/http 包),但是我怎樣才能將它升級到 WebSocket?
我可以只使用純 Golang 嗎? 我無法在 inte.net 上找到合適的信息。 所有示例都使用 JS,或者它們使它變得太復雜(比如構建一些應用程序,我不想這樣做,並且由於它的復雜性而根本無法跟進)。
我接到你了。 WebSocket有客戶端和服務器端。 大多數時候人們需要在瀏覽器中運行客戶端。 gorilla 的 websocket 實現同時支持客戶端和服務器。 你可以用它來撥打你的服務器。 這是一個示例代碼。
package main
import (
"fmt"
"github.com/gorilla/websocket"
)
func main() {
ws, _, err := websocket.DefaultDialer.Dial("ws[s]://localhost/path?query", nil)
if err != nil {
panic(err)
}
defer ws.Close()
for {
// Read a message from websocket connection
_, msg, err := ws.ReadMessage()
if err != nil {
return
}
fmt.Println(string(msg))
// uncomment below if you need send message to remote server
//if err = ws.WriteMessage(websocket.TextMessage, msg); err != nil {
// return
//}
}
}
這是完整的簡單客戶端和服務器示例: https://github.com/gorilla/websocket/tree/master/examples/echo
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.