This commit is contained in:
邹宗楠
2022-11-04 16:29:43 +08:00
parent a478fee735
commit 2babd47866

View File

@@ -39,18 +39,14 @@ func (t *TcpClient) handleConn(c net.Conn) {
globals.SugarLogger.Debugf("conn is nil")
return
}
globals.SugarLogger.Debugf("=================1")
defer c.Close()
for {
var (
printNo string //打印机编号
buffer = make([]byte, 1024)
)
globals.SugarLogger.Debugf("=================2")
n, err := c.Read(buffer)
globals.SugarLogger.Debugf("=================3")
fmt.Println("ReadString err", err)
globals.SugarLogger.Debugf("err ======================%v", err)
if err != nil {
if err == io.EOF {
fmt.Println("connection close")
@@ -62,13 +58,12 @@ func (t *TcpClient) handleConn(c net.Conn) {
//看是心跳还是打印回调
data := hex.EncodeToString(buffer[:n])
globals.SugarLogger.Debugf("data=============:%s", data)
//证明是心跳
if strings.Contains(data, heartText) || strings.Contains(data, heartTextNew) {
printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8])
printNo = string(printNoData)
status := printStatus2JxStatus(data[len(data)-8 : len(data)-6])
globals.SugarLogger.Debugf("输出打印机编号printNo:[%s],和状态printStatus[%d],打印时间time:[%v]", printNo, status, time.Now())
//globals.SugarLogger.Debugf("输出打印机编号printNo:[%s],和状态printStatus[%d],打印时间time:[%v]", printNo, status, time.Now())
//如果没在连接池里
//1、加到连接池中不同的打印机no开不同的goroutine
//2、初始化channel每个打印机一个放打印消息和打印回调消息
@@ -96,9 +91,9 @@ func (t *TcpClient) handleConn(c net.Conn) {
t.setPrintStatusTime(printNo)
}
//状态不一致再更新状态(可能缺纸了,过热了等)
globals.SugarLogger.Debugf("比较缓存状态和真实状态缓存状态[%d],真实状态[%d]", t.getPrintStatus(printNo), status)
//globals.SugarLogger.Debugf("比较缓存状态和真实状态缓存状态[%d],真实状态[%d]", t.getPrintStatus(printNo), status)
if t.getPrintStatus(printNo) != status {
globals.SugarLogger.Debugf("更新打印机状态到数据库和缓存[%s:%d]", printNo, status)
//globals.SugarLogger.Debugf("更新打印机状态到数据库和缓存[%s:%d]", printNo, status)
t.setPrintStatus(printNo, status)
changePrinterStatus(printNo, status)
}