From 0de3c92b6d060dd2b343138f2f752f76c7bd3ee3 Mon Sep 17 00:00:00 2001 From: Anurag Date: Mon, 23 Sep 2024 00:14:16 +0530 Subject: [PATCH] Fixes #9 - Replaced conn.WriteMessage with conn.WriteControl --- client.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client.go b/client.go index 3b43cce..29478d8 100644 --- a/client.go +++ b/client.go @@ -132,6 +132,7 @@ func (c *Client) NewConnection() (*websocket.Conn, error) { c.closed = false // Set connection handlers and heartbeat + c.connection.SetReadDeadline(time.Now().Add(c.config.ReadTimeout * time.Second)) c.connection.SetPongHandler(c.handlePong) go c.handleResponse() go c.heartbeat() @@ -161,7 +162,8 @@ func (c *Client) Ping(message []byte) error { c.mutex.Lock() defer c.mutex.Unlock() // log.Println("PING:", string(message)) - if err := c.connection.WriteMessage(websocket.PingMessage, message); err != nil { + newDeadline := time.Now().Add(c.config.WriteTimeout * time.Second) + if err := c.connection.WriteControl(websocket.PingMessage, message, newDeadline); err != nil { return err } return nil