adshao / go-binance

A Go SDK for Binance API
MIT License
1.49k stars 661 forks source link

How to reconnect ws #364

Closed xiongbenwu closed 2 years ago

xiongbenwu commented 2 years ago

How to reconnect ws

crazygit commented 2 years ago

Here is an example

func main() {
    binance.WebsocketKeepalive = true
    symbols := []string{"btcusdt"}
    wsMarketStatHandler := func(event *binance.WsMarketStatEvent) {
        fmt.Println(event)
    }
    errHandler := func(err error) {
        fmt.Println(err)
    }
    for {
        fmt.Println("Connect to binance...")
        doneC, _, err := binance.WsCombinedMarketStatServe(symbols, wsMarketStatHandler, errHandler)
        if err != nil {
            fmt.Println(err)
            fmt.Println("Connect Failed, Reconnect in 3 seconds")
            time.Sleep(time.Second * 3)
            continue
        }
        <-doneC
        fmt.Println("Disconnected, Reconnect in 3 seconds")
        time.Sleep(time.Second * 3)
    }
}
xiongbenwu commented 2 years ago

thx