Golang
Connect with Golang
Go 1.18+
Install the Gorilla WebSocket package:
go get github.com/gorilla/websocket
package main
import (
"encoding/json"
"log"
"net/url"
"github.com/gorilla/websocket"
)
type SubscriptionMessage struct {
Topic string `json:"topic"`
Symbol string `json:"symbol"`
Action string `json:"action"`
}
func main() {
wsURL := "wss://ws.recluster.io/ws?password=example"
u, err := url.Parse(wsURL)
if err != nil {
log.Fatalf("Invalid WebSocket URL: %v", err)
}
c, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
if err != nil {
log.Fatalf("Error connecting to WebSocket: %v", err)
}
defer c.Close()
log.Println("Connected to reCluster!")
subMsg := SubscriptionMessage{
Topic: "orderbook",
Symbol: "BTCUSDT",
Action: "subscribe",
}
msgBytes, err := json.Marshal(subMsg)
if err != nil {
log.Fatalf("Error marshaling subscription message: %v", err)
}
err = c.WriteMessage(websocket.TextMessage, msgBytes)
if err != nil {
log.Fatalf("Error sending subscription request: %v", err)
}
for {
_, message, err := c.ReadMessage()
if err != nil {
log.Printf("Read error: %v", err)
return
}
log.Printf("Received: %s", message)
}
}
Last updated