From: qydysky Date: Sun, 21 May 2023 12:43:22 +0000 (+0800) Subject: fix X-Git-Tag: v0.27.8 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=d79415c2ea1da149e26657092eba8993a953a19a;p=part%2F.git fix --- 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()