// 心跳机制 func heartBeat(ch chan int, clientObj *client.Client) { // 处理内部未处理的异常,以免导致主线程退出,从而导致系统崩溃 defer func() { if r := recover(); r != nil { logUtil.Log(fmt.Sprintf("通过recover捕捉到的未处理异常:%v", r), logUtil.Error, true) } ch <- 1 }() for { clientObj.SendHeartBeatMessage() // 休眠指定的时间(单位:秒) time.Sleep(HeartBeatInterval * time.Second) } }