0

我正在使用ePOS2Epson 的 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 秒吗?

4

1 回答 1

0

原来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()
于 2017-08-31T22:59:22.380 回答