diff --git a/v1/client/client.go b/v1/client/client.go index 39f4a6e..098cdd6 100644 --- a/v1/client/client.go +++ b/v1/client/client.go @@ -259,6 +259,11 @@ func (wsClient *SafeWebsocketClient) connect() error { wsClient.cancelFuncs = append(wsClient.cancelFuncs, cancel) return nil }) + + writer, err := conn.NextWriter(websocket.TextMessage) + if err != nil { + return + } for { select { case <-ctx.Done(): @@ -269,19 +274,6 @@ func (wsClient *SafeWebsocketClient) connect() error { wsClient.triggerReconnect() return } - messageType := websocket.TextMessage - switch data.MessageType { - case MessageTypePing: - messageType = websocket.PingMessage - case MessageTypePong: - messageType = websocket.PongMessage - case MessageTypeClose: - messageType = websocket.CloseMessage - } - writer, err := conn.NextWriter(messageType) - if err != nil { - return - } if _, err := writer.Write(data.Data); err != nil { return @@ -296,6 +288,10 @@ func (wsClient *SafeWebsocketClient) connect() error { wsClient.cancelFuncs = append(wsClient.cancelFuncs, cancel) return nil }) + _, reader, err := conn.NextReader() + if err != nil { + return + } for { select { case <-ctx.Done(): @@ -309,12 +305,6 @@ func (wsClient *SafeWebsocketClient) connect() error { fmt.Printf("error on read deadline: %v\n", err) return } - _, reader, err := conn.NextReader() - if err != nil { - fmt.Printf("Next Reader Closed: %v\n", err) - wsClient.triggerReconnect() - return - } readerBytes, err := io.ReadAll(reader) if err != nil {