From 2a0d749ef5e3d5a6fe67b6febb8e31da73cd6f44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Fri, 19 Jul 2024 09:11:22 +0800 Subject: [PATCH] 1 --- business/jxstore/event/event_tcp.go | 57 +++++++++++++++++------------ 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/business/jxstore/event/event_tcp.go b/business/jxstore/event/event_tcp.go index c086a171f..d9081b80a 100644 --- a/business/jxstore/event/event_tcp.go +++ b/business/jxstore/event/event_tcp.go @@ -47,6 +47,7 @@ func ListenTcp() { }() if err := handleConn(c); err != nil { + globals.SugarLogger.Debugf("=========err := %v", err) Poll.Wait() Poll.Stop() return @@ -69,9 +70,11 @@ func handleConn(c net.Conn) error { } else { fmt.Println("ReadString err:", err) } - delete(PrintIpAndAddr, PrintAddrAndIp[printRemoteAddr]) - delete(PrintObject, PrintAddrAndIp[printRemoteAddr]) - delete(PrintAddrAndIp, printRemoteAddr) + if printNo, ok := PrintAddrAndIp[printRemoteAddr]; ok { + delete(PrintIpAndAddr, printNo) + delete(PrintObject, printNo) + delete(PrintAddrAndIp, printRemoteAddr) + } return err } @@ -252,10 +255,11 @@ func doPrint(t *TcpClient, key string) (err error) { } if c == nil { - printRemoteAddrIP := PrintIpAndAddr[key] - delete(PrintIpAndAddr, PrintAddrAndIp[key]) - delete(PrintAddrAndIp, printRemoteAddrIP) - delete(PrintObject, key) + if printRemoteAddrIP, have := PrintIpAndAddr[key]; have { + delete(PrintIpAndAddr, PrintAddrAndIp[key]) + delete(PrintAddrAndIp, printRemoteAddrIP) + delete(PrintObject, key) + } return } @@ -264,19 +268,22 @@ func doPrint(t *TcpClient, key string) (err error) { printMsg.Comment = err.Error() dao.UpdateEntity(db, printMsg, "Status", "Comment") - printRemoteAddrIP := PrintIpAndAddr[key] - delete(PrintIpAndAddr, PrintAddrAndIp[key]) - delete(PrintAddrAndIp, printRemoteAddrIP) - delete(PrintObject, key) + if printRemoteAddrIP, have := PrintIpAndAddr[key]; have { + delete(PrintIpAndAddr, PrintAddrAndIp[key]) + delete(PrintAddrAndIp, printRemoteAddrIP) + delete(PrintObject, key) + } return } if _, err = c.Write(data); err != nil { globals.SugarLogger.Debugf("handleTcpMessages err [%v]", err) - printRemoteAddrIP := PrintIpAndAddr[key] - delete(PrintIpAndAddr, PrintAddrAndIp[key]) - delete(PrintAddrAndIp, printRemoteAddrIP) - delete(PrintObject, key) + if printRemoteAddrIP, have := PrintIpAndAddr[key]; have { + delete(PrintIpAndAddr, PrintAddrAndIp[key]) + delete(PrintAddrAndIp, printRemoteAddrIP) + delete(PrintObject, key) + } + } else { //等待回调 dataStr := <-t.CallBackMap[key] @@ -434,10 +441,12 @@ func HandleCheckTcpHeart(t *TcpClient, key string) { changePrinterStatus(key, printerStatusOffline) // 链接出错,彻底删除换成 - printRemoteAddrIP := PrintIpAndAddr[key] - delete(PrintIpAndAddr, PrintAddrAndIp[key]) - delete(PrintAddrAndIp, printRemoteAddrIP) - delete(PrintObject, key) + if printRemoteAddrIP, have := PrintIpAndAddr[key]; have { + delete(PrintIpAndAddr, PrintAddrAndIp[key]) + delete(PrintAddrAndIp, printRemoteAddrIP) + delete(PrintObject, key) + } + } } } else { @@ -447,10 +456,12 @@ func HandleCheckTcpHeart(t *TcpClient, key string) { t.delConn(key) // 链接出错,彻底删除换成 - printRemoteAddrIP := PrintIpAndAddr[key] - delete(PrintIpAndAddr, PrintAddrAndIp[key]) - delete(PrintAddrAndIp, printRemoteAddrIP) - delete(PrintObject, key) + if printRemoteAddrIP, have := PrintIpAndAddr[key]; have { + delete(PrintIpAndAddr, PrintAddrAndIp[key]) + delete(PrintAddrAndIp, printRemoteAddrIP) + delete(PrintObject, key) + } + return } }