1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2025-01-04 08:26:53 -05:00

Bettering ping method

This commit is contained in:
Shelikhoo 2016-08-15 19:13:18 +08:00
parent e382eaa59f
commit 0a49628555
No known key found for this signature in database
GPG Key ID: 7791BDB0709ABD21

View File

@ -183,19 +183,18 @@ func (ws *wsconn) pingPong() {
ws.wlock.Lock() ws.wlock.Lock()
ws.wsc.WriteMessage(websocket.PingMessage, nil) ws.wsc.WriteMessage(websocket.PingMessage, nil)
ws.wlock.Unlock() ws.wlock.Unlock()
tick := time.NewTicker(time.Second * 30) tick := time.After(time.Second * 3)
select { select {
case <-pongRcv: case <-pongRcv:
break break
case <-tick.C: case <-tick:
if !ws.connClosing { if !ws.connClosing {
log.Debug("WS:Closing as ping is not responded~" + ws.wsc.UnderlyingConn().LocalAddr().String() + "-" + ws.wsc.UnderlyingConn().RemoteAddr().String()) log.Debug("WS:Closing as ping is not responded~" + ws.wsc.UnderlyingConn().LocalAddr().String() + "-" + ws.wsc.UnderlyingConn().RemoteAddr().String())
} }
ws.Close() ws.Close()
} }
<-tick.C <-time.After(time.Second * 27)
tick.Stop()
} }
return return