diff --git a/business/jxstore/event/event_tcp.go b/business/jxstore/event/event_tcp.go index 90ee90636..6f9da962f 100644 --- a/business/jxstore/event/event_tcp.go +++ b/business/jxstore/event/event_tcp.go @@ -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)