aa
This commit is contained in:
@@ -41,59 +41,59 @@ func (t *TcpClient) handleConn(c net.Conn) {
|
||||
globals.SugarLogger.Debugf("conn is nil")
|
||||
return
|
||||
}
|
||||
//defer c.Close()
|
||||
defer c.Close()
|
||||
buffer := make([]byte, 1024)
|
||||
//for {
|
||||
n, err := c.Read(buffer)
|
||||
if err != nil {
|
||||
if err == io.EOF {
|
||||
fmt.Println("connection close")
|
||||
} else {
|
||||
fmt.Println("ReadString err", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
//也可能是查状态的
|
||||
if err = json.Unmarshal(buffer[:n], &printStatus); err == nil {
|
||||
fmt.Println("handleConn msg: ", string(buffer[:n]))
|
||||
if printStatus != nil {
|
||||
status := t.getPrintStatus(printStatus.PrintNo)
|
||||
c.Write([]byte(utils.Int2Str(status)))
|
||||
c.Close()
|
||||
}
|
||||
}
|
||||
//看是心跳还是打印返回
|
||||
data := hex.EncodeToString(buffer[:n])
|
||||
//证明是心跳
|
||||
if strings.Contains(data, heartText) {
|
||||
globals.SugarLogger.Debugf("handleConn heart: %v", data)
|
||||
printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8])
|
||||
printNo = string(printNoData)
|
||||
globals.SugarLogger.Debugf("handleConn printno :[%v]", printNo)
|
||||
status := printStatus2JxStatus(data[len(data)-8 : len(data)-6])
|
||||
if t.Clients[printNo] == nil {
|
||||
t.addConn(c, printNo, status)
|
||||
t.buildCallBackMap(printNo)
|
||||
t.buildMsgMap(printNo)
|
||||
t.HandleTcpMessages(printNo)
|
||||
t.doPrint(printNo)
|
||||
if status == printerStatusOnline {
|
||||
//t.printFail()
|
||||
for {
|
||||
n, err := c.Read(buffer)
|
||||
if err != nil {
|
||||
if err == io.EOF {
|
||||
fmt.Println("connection close")
|
||||
} else {
|
||||
fmt.Println("ReadString err", err)
|
||||
}
|
||||
changePrinterStatus(printNo, status)
|
||||
t.HandleCheckTcpHeart(printNo)
|
||||
return
|
||||
}
|
||||
if t.getPrintStatus(printNo) != status {
|
||||
t.setPrintStatus(printNo, status)
|
||||
changePrinterStatus(printNo, status)
|
||||
//也可能是查状态的
|
||||
if err = json.Unmarshal(buffer[:n], &printStatus); err == nil {
|
||||
fmt.Println("handleConn msg: ", string(buffer[:n]))
|
||||
if printStatus != nil {
|
||||
status := t.getPrintStatus(printStatus.PrintNo)
|
||||
c.Write([]byte(utils.Int2Str(status)))
|
||||
c.Close()
|
||||
}
|
||||
}
|
||||
//看是心跳还是打印返回
|
||||
data := hex.EncodeToString(buffer[:n])
|
||||
//证明是心跳
|
||||
if strings.Contains(data, heartText) {
|
||||
globals.SugarLogger.Debugf("handleConn heart: %v", data)
|
||||
printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8])
|
||||
printNo = string(printNoData)
|
||||
globals.SugarLogger.Debugf("handleConn printno :[%v]", printNo)
|
||||
status := printStatus2JxStatus(data[len(data)-8 : len(data)-6])
|
||||
if t.Clients[printNo] == nil {
|
||||
t.addConn(c, printNo, status)
|
||||
t.buildCallBackMap(printNo)
|
||||
t.buildMsgMap(printNo)
|
||||
t.HandleTcpMessages(printNo)
|
||||
t.doPrint(printNo)
|
||||
if status == printerStatusOnline {
|
||||
//t.printFail()
|
||||
}
|
||||
changePrinterStatus(printNo, status)
|
||||
t.HandleCheckTcpHeart(printNo)
|
||||
}
|
||||
if t.getPrintStatus(printNo) != status {
|
||||
t.setPrintStatus(printNo, status)
|
||||
changePrinterStatus(printNo, status)
|
||||
}
|
||||
globals.SugarLogger.Debugf("handleConn print model %v", utils.Format4Output(t.Clients[printNo], true))
|
||||
} else if strings.Contains(data, printText) {
|
||||
globals.SugarLogger.Debugf("handleConn print callback: %v", data)
|
||||
_, printNo = getCallbackMsgInfo(data)
|
||||
t.addCallbackChan(printNo, data)
|
||||
}
|
||||
globals.SugarLogger.Debugf("handleConn print model %v", utils.Format4Output(t.Clients[printNo], true))
|
||||
} else if strings.Contains(data, printText) {
|
||||
globals.SugarLogger.Debugf("handleConn print callback: %v", data)
|
||||
_, printNo = getCallbackMsgInfo(data)
|
||||
t.addCallbackChan(printNo, data)
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
func (t *TcpClient) printFail() (err error) {
|
||||
|
||||
Reference in New Issue
Block a user