update writePingMsg logic

pull/2404/head
Monet Lee 1 year ago
parent 32457ab8b5
commit b454aacd36

@ -347,7 +347,7 @@ func (c *Client) activeHeartbeat(ctx context.Context) {
for { for {
select { select {
case <-ticker.C: case <-ticker.C:
if err := c.conn.WriteMessage(PingMessage, nil); err != nil { if err := c.writePingMsg(); err != nil {
log.ZError(c.ctx, "send Ping Message error.", err) log.ZError(c.ctx, "send Ping Message error.", err)
return return
} }
@ -358,6 +358,21 @@ func (c *Client) activeHeartbeat(ctx context.Context) {
}() }()
} }
} }
func (c *Client) writePingMsg() error {
if c.closed.Load() {
return nil
}
c.w.Lock()
defer c.w.Unlock()
err := c.conn.SetWriteDeadline(writeWait)
if err != nil {
return err
}
return c.conn.WriteMessage(PingMessage, nil)
}
func (c *Client) writePongMsg() error { func (c *Client) writePongMsg() error {
if c.closed.Load() { if c.closed.Load() {

Loading…
Cancel
Save