This commit is contained in:
suyl
2021-08-26 14:13:55 +08:00
parent 5dea4eea14
commit 0754010594

View File

@@ -65,7 +65,7 @@ func (t *TcpClient) handleConn(c net.Conn) {
}
//看是心跳还是打印回调
data := hex.EncodeToString(buffer[:n])
globals.SugarLogger.Debugf("handleConn msg ....................: %v", data)
//globals.SugarLogger.Debugf("handleConn msg ....................: %v", data)
//证明是心跳
if strings.Contains(data, heartText) {
globals.SugarLogger.Debugf("handleConn heart: %v", data)
@@ -80,7 +80,7 @@ func (t *TcpClient) handleConn(c net.Conn) {
//4、读打印channel并打印并切等待回调channel中的消息
//5、修改数据库中打印机状态没在连接池中说明是重新连接的
//6、监听心跳时间超过1分多钟就clear掉
globals.SugarLogger.Debugf("handleConn timeout channel...: %v", t.TimeoutMap[printNo])
//globals.SugarLogger.Debugf("handleConn timeout channel...: %v", t.TimeoutMap[printNo])
if t.Clients[printNo] == nil {
t.addConn(c, printNo, status)
t.buildAllMap(printNo)
@@ -105,6 +105,7 @@ func (t *TcpClient) handleConn(c net.Conn) {
globals.SugarLogger.Debugf("handleConn print callback: %v", data)
//更新打印机心跳时间(打印机本身不会在打印的同时,或回调的同时发心跳消息,会导致心跳判断超时,这里更新一下)
t.setPrintStatusTime(printNo)
globals.SugarLogger.Debugf("handleConn print callback statusTime: %v", t.Clients[printNo].StatusTime)
//打印消息发送后打印机会回调该条打印消息的状态打印成功or失败失败原因..
//将回调的信息放到回调channel中打印成功后再打印下一条消息
_, printNo = getCallbackMsgInfo(data)
@@ -284,9 +285,10 @@ func (t *TcpClient) HandleCheckTcpHeart(key string) {
globals.SugarLogger.Debugf("HandleCheckTcpHeart timeout")
return
default:
if !utils.IsTimeZero(t.getPrintStatusTime(key)) {
statusTime := t.getPrintStatusTime(key)
if !utils.IsTimeZero(statusTime) {
//2分钟内没心跳判断打印机掉线了
if time.Now().Sub(t.getPrintStatusTime(key)) > time.Minute+time.Second*3 {
if time.Now().Sub(statusTime) > time.Minute+time.Second*3 {
changePrinterStatus(key, printerStatusOffline)
globals.SugarLogger.Debugf("HandleCheckTcpHeart clear...")
//t.clear(key)