From d79415c2ea1da149e26657092eba8993a953a19a Mon Sep 17 00:00:00 2001 From: qydysky Date: Sun, 21 May 2023 20:43:22 +0800 Subject: [PATCH] fix --- websocket/Client.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/websocket/Client.go b/websocket/Client.go index 7b3c7d7..a305be8 100644 --- a/websocket/Client.go +++ b/websocket/Client.go @@ -103,7 +103,9 @@ func (o *Client) Handle() (*msgq.MsgType[*WsMsg], error) { dial.Proxy = proxy } c, response, err := dial.Dial(o.Url, tmp_Header) - if err := c.SetWriteDeadline(time.Now().Add(time.Duration(o.TO * int(time.Millisecond)))); err != nil { + if err != nil { + o.error(err) + } else if err := c.SetWriteDeadline(time.Now().Add(time.Duration(o.TO * int(time.Millisecond)))); err != nil { o.error(err) } if err != nil { @@ -179,7 +181,11 @@ func (o *Client) Handle() (*msgq.MsgType[*WsMsg], error) { if wm.Type == 0 { wm.Type = websocket.TextMessage } - c.SetWriteDeadline(time.Now().Add(time.Duration(o.TO * int(time.Millisecond)))) + if err := c.SetWriteDeadline(time.Now().Add(time.Duration(o.TO * int(time.Millisecond)))); err != nil { + o.error(err) + o.msg.ClearAll() + return true + } if err := c.WriteMessage(wm.Type, wm.Msg); err != nil { o.error(err) o.msg.ClearAll() -- 2.39.2