ePOS2 SDK:如何保持与打印机的连接?
ePOS2 SDK: How to keep connection to printer alive?
我正在使用 ePOS2
Epson 的 SDK 与收据打印机 TM-M30 通信。
我能够成功连接到打印机并打印一些数据。
完成打印后,我会保持与打印机的连接,所以下次我需要打印一些东西时,我不会再连接到它。
但是连接仅存在 90 秒。在 90 秒不活动连接打印机断开后,Epos2Printer
通知代表电源已关闭:
func onPtrStatusChange(_ printerObj: Epos2Printer, eventType: Int32) {
let eventStatus = Epos2StatusEvent(rawValue: eventType)
// Event status is EPOS2_EVENT_POWER_OFF here
}
我没有看到 Epos2Printer
保持连接的任何参数。
有人知道如何强制打印机保持连接超过 90 秒吗?
原来 Epos2Printer
使用 TCP 连接与打印机通信,TCP 本身在 90 秒后断开连接。
为避免这种情况,我在闲置 85 秒后向现金抽屉的空打印机端口发送信号:
printer.addPulse(EPOS2_DRAWER_5PIN.rawValue, time: EPOS2_PULSE_100.rawValue)
printer.beginTransaction()
printer.sendData(Int(EPOS2_PARAM_DEFAULT))
printer.endTransaction()
printer.clearCommandBuffer()
我正在使用 ePOS2
Epson 的 SDK 与收据打印机 TM-M30 通信。
我能够成功连接到打印机并打印一些数据。
完成打印后,我会保持与打印机的连接,所以下次我需要打印一些东西时,我不会再连接到它。
但是连接仅存在 90 秒。在 90 秒不活动连接打印机断开后,Epos2Printer
通知代表电源已关闭:
func onPtrStatusChange(_ printerObj: Epos2Printer, eventType: Int32) {
let eventStatus = Epos2StatusEvent(rawValue: eventType)
// Event status is EPOS2_EVENT_POWER_OFF here
}
我没有看到 Epos2Printer
保持连接的任何参数。
有人知道如何强制打印机保持连接超过 90 秒吗?
原来 Epos2Printer
使用 TCP 连接与打印机通信,TCP 本身在 90 秒后断开连接。
为避免这种情况,我在闲置 85 秒后向现金抽屉的空打印机端口发送信号:
printer.addPulse(EPOS2_DRAWER_5PIN.rawValue, time: EPOS2_PULSE_100.rawValue)
printer.beginTransaction()
printer.sendData(Int(EPOS2_PARAM_DEFAULT))
printer.endTransaction()
printer.clearCommandBuffer()