diff --git a/btcchinahttp.go b/btcchinahttp.go index 31756a83..4d3720d5 100644 --- a/btcchinahttp.go +++ b/btcchinahttp.go @@ -203,6 +203,10 @@ func (b *BTCChina) Run() { log.Printf("%s polling delay: %ds.\n", b.GetName(), b.PollingDelay) } + if b.Websocket { + go b.WebsocketClient() + } + b.GetAccountInfo("all") for b.Enabled { diff --git a/huobiwebsocket.go b/huobiwebsocket.go index feb78499..e2533d98 100644 --- a/huobiwebsocket.go +++ b/huobiwebsocket.go @@ -130,7 +130,12 @@ func (h *HUOBI) OnConnect(output chan socketio.Message) { } func (h *HUOBI) OnDisconnect(output chan socketio.Message) { - log.Println("Disconnected from websocket client.. Reconnecting") + log.Printf("%s Disconnected from websocket server.. Reconnecting.\n", h.GetName()) + h.WebsocketClient() +} + +func (h *HUOBI) OnError() { + log.Printf("%s Error with Websocket connection.. Reconnecting.\n", h.GetName()) h.WebsocketClient() } @@ -154,15 +159,16 @@ func (h *HUOBI) WebsocketClient() { HuobiSocket = &socketio.SocketIO{ OnConnect: h.OnConnect, - OnDisconnect: h.OnDisconnect, OnEvent: events, + OnError: h.OnError, + OnDisconnect: h.OnDisconnect, } err := socketio.ConnectToSocket(HUOBI_SOCKETIO_ADDRESS, HuobiSocket) if err != nil { fmt.Println(err) - return } - log.Printf("%s Websocket client disconnected.", h.GetName()) + log.Printf("%s Websocket client disconnected.. Reconnecting.", h.GetName()) + h.WebsocketClient() } \ No newline at end of file