]> 127.0.0.1 Git - part/.git/commitdiff
fix v0.27.8
authorqydysky <qydysky@foxmail.com>
Sun, 21 May 2023 12:43:22 +0000 (20:43 +0800)
committerqydysky <qydysky@foxmail.com>
Sun, 21 May 2023 12:43:22 +0000 (20:43 +0800)
websocket/Client.go

index 7b3c7d7db5007fcf2cf99a0b6b0f46cdfce197a3..a305be8ec9a71235e4e65eeac7e372c8141d2c05 100644 (file)
@@ -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()