From 96129c6e31a2d93bdbcf0e2fb48748375a84bc20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 29 Dec 2022 16:25:18 +0800 Subject: [PATCH] 1 --- business/jxstore/event/event_tcp.go | 4 ++-- business/jxstore/event/event_tcp_utils.go | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/business/jxstore/event/event_tcp.go b/business/jxstore/event/event_tcp.go index 30e2a6c4c..a8f9b2c89 100644 --- a/business/jxstore/event/event_tcp.go +++ b/business/jxstore/event/event_tcp.go @@ -69,7 +69,7 @@ func (t *TcpClient) handleConn(c net.Conn) { //5、修改数据库中打印机状态(没在连接池中说明是重新连接的) //6、监听心跳时间,超过1分多钟就clear掉 //globals.SugarLogger.Debugf("handleConn timeout channel...: %v", t.TimeoutMap[printNo]) - if t.Clients[printNo] == nil { + if t.getClients(printNo) == nil { t.addConn(c, printNo, status) t.buildAllMap(printNo) t.HandleTcpMessages(printNo) @@ -314,7 +314,7 @@ func (t *TcpClient) HandleCheckTcpHeart(key string) { for { select { case <-t.TimeoutMap[key]: - t.Clients[key].C.Close() + t.getClients(key).C.Close() close(t.MsgMap[key]) close(t.CallBackMap[key]) delete(t.Clients, key) diff --git a/business/jxstore/event/event_tcp_utils.go b/business/jxstore/event/event_tcp_utils.go index 492d71786..7b41924d9 100644 --- a/business/jxstore/event/event_tcp_utils.go +++ b/business/jxstore/event/event_tcp_utils.go @@ -219,6 +219,13 @@ func (t *TcpClient) getPrintStatusTime(key string) time.Time { } } +// 获取连接对象 +func (t *TcpClient) getClients(key string) *PrintInfo { + t.RLock() + defer t.RUnlock() + return t.Clients[key] +} + func (t *TcpClient) isExistMsg(key string) bool { t.RLock() defer t.RUnlock()