From 967b8a98b3676ba35ae67790962f7db99fe2a04d Mon Sep 17 00:00:00 2001 From: Roger Ferdinan Date: Tue, 30 Sep 2025 07:12:38 +0700 Subject: [PATCH] fix: write & reader posiiton --- v1/client/client.go | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) 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 {