diff --git a/business/jxstore/event/event_tcp.go b/business/jxstore/event/event_tcp.go index f886a5ff2..a384a4fa0 100644 --- a/business/jxstore/event/event_tcp.go +++ b/business/jxstore/event/event_tcp.go @@ -62,6 +62,7 @@ func handleConn(c net.Conn) error { if c == nil { return errors.New("conn is nil") } + nowPrintNo := "" for { buffer, n, err := ConnRead(c) if err != nil { @@ -71,14 +72,19 @@ func handleConn(c net.Conn) error { fmt.Println("ReadString err:", err) } globals.SugarLogger.Debugf("打印机连接错误:%v", err) + if nowPrintNo != "" { + delete(PrintObject, nowPrintNo) + } return err } //看是心跳还是打印回调 data := hex.EncodeToString(buffer[:n]) - var printNo string //打印机编号 - var heartbeat bool = false - var callback bool = false + var ( + printNo string = "" //打印机编号 + heartbeat bool = false + callback bool = false + ) if strings.Contains(data, heartText) || strings.Contains(data, heartTextNew) { printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8]) printNo = string(printNoData) @@ -87,12 +93,11 @@ func handleConn(c net.Conn) error { _, printNo = getCallbackMsgInfo(data) callback = true } + nowPrintNo = printNo t, ok := PrintObject[printNo] - globals.SugarLogger.Debugf("======t := %s", utils.Format4Output(t, false)) if !ok { t = NewTcpClient() - globals.SugarLogger.Debugf("======t3 := %s", utils.Format4Output(t, false)) PrintObject[printNo] = t } if strings.Contains(string(buffer[0:n]), "print_no_clear") { // 清理缓存