This commit is contained in:
邹宗楠
2023-08-31 10:49:57 +08:00
parent 17ff0169b8
commit 7c2a2bbea1

View File

@@ -102,22 +102,22 @@ func handleConn(c net.Conn, t *TcpClient) error {
} }
var printNo string //打印机编号 var printNo string //打印机编号
var heartbeat bool = false //var heartbeat bool = false
if strings.Contains(data, heartText) || strings.Contains(data, heartTextNew) { //if strings.Contains(data, heartText) || strings.Contains(data, heartTextNew) {
printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8]) // printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8])
printNo = string(printNoData) // printNo = string(printNoData)
heartbeat = true // heartbeat = true
} else if strings.Contains(data, printText) || strings.Contains(data, printTextNew) { //打印回调 //} else if strings.Contains(data, printText) || strings.Contains(data, printTextNew) { //打印回调
_, printNo = getCallbackMsgInfo(data) // _, printNo = getCallbackMsgInfo(data)
heartbeat = true // heartbeat = true
} //}
//obj, ok := PrintPool[printNo] //obj, ok := PrintPool[printNo]
//证明是心跳 //证明是心跳
if heartbeat { if strings.Contains(data, heartText) || strings.Contains(data, heartTextNew) {
//printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8]) printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8])
//printNo = string(printNoData) printNo = string(printNoData)
status := printStatus2JxStatus(data[len(data)-8 : len(data)-6]) status := printStatus2JxStatus(data[len(data)-8 : len(data)-6])
//如果没在连接池里 //如果没在连接池里
//1、加到连接池中不同的打印机no开不同的goroutine //1、加到连接池中不同的打印机no开不同的goroutine
@@ -149,10 +149,10 @@ func handleConn(c net.Conn, t *TcpClient) error {
//状态不一致再更新状态(可能缺纸了,过热了等) //状态不一致再更新状态(可能缺纸了,过热了等)
t.setPrintStatus(printNo, status) t.setPrintStatus(printNo, status)
changePrinterStatus(printNo, status) changePrinterStatus(printNo, status)
} else if heartbeat { //打印回调 } else if strings.Contains(data, printText) || strings.Contains(data, printTextNew) { //打印回调
//打印消息发送后打印机会回调该条打印消息的状态打印成功or失败失败原因.. //打印消息发送后打印机会回调该条打印消息的状态打印成功or失败失败原因..
//将回调的信息放到回调channel中打印成功后再打印下一条消息 //将回调的信息放到回调channel中打印成功后再打印下一条消息
//_, printNo = getCallbackMsgInfo(data) _, printNo = getCallbackMsgInfo(data)
//更新打印机心跳时间(打印机本身不会在打印的同时,或回调的同时发心跳消息,会导致心跳判断超时,这里更新一下) //更新打印机心跳时间(打印机本身不会在打印的同时,或回调的同时发心跳消息,会导致心跳判断超时,这里更新一下)
t.setPrintStatusTime(printNo) t.setPrintStatusTime(printNo)
t.addCallbackChan(printNo, data) t.addCallbackChan(printNo, data)