aa
This commit is contained in:
@@ -43,57 +43,57 @@ func (t *TcpClient) handleConn(c net.Conn) {
|
|||||||
}
|
}
|
||||||
defer c.Close()
|
defer c.Close()
|
||||||
buffer := make([]byte, 1024)
|
buffer := make([]byte, 1024)
|
||||||
for {
|
//for {
|
||||||
n, err := c.Read(buffer)
|
n, err := c.Read(buffer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == io.EOF {
|
if err == io.EOF {
|
||||||
fmt.Println("connection close")
|
fmt.Println("connection close")
|
||||||
} else {
|
} else {
|
||||||
fmt.Println("ReadString err", err)
|
fmt.Println("ReadString err", err)
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
//也可能是查状态的
|
return
|
||||||
if err = json.Unmarshal(buffer[:n], &printStatus); err == nil {
|
}
|
||||||
fmt.Println("handleConn msg: ", string(buffer[:n]))
|
//也可能是查状态的
|
||||||
if printStatus != nil {
|
if err = json.Unmarshal(buffer[:n], &printStatus); err == nil {
|
||||||
status := t.getPrintStatus(printStatus.PrintNo)
|
fmt.Println("handleConn msg: ", string(buffer[:n]))
|
||||||
c.Write([]byte(utils.Int2Str(status)))
|
if printStatus != nil {
|
||||||
break
|
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)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//看是心跳还是打印返回
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *TcpClient) printFail() (err error) {
|
func (t *TcpClient) printFail() (err error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user