博尔杰PTS - 工业标签标识打印整体解决方案
首页 > 技术支持 > 解决Link-OS SDK USB连接响应超30秒问题

解决Link-OS SDK USB连接响应超30秒问题

问题概述:在通过Link-OS SDK进行开发时,使用USB驱动连接打印机,反应时间超过30秒,影响开发效率。本文分析原因并提供解决方案。

现象

通过Link-OS SDK开发,使用USB驱动连接时,反应时间超过30秒。

原因分析

Link-OS SDK中提供的DEMO使用ZebraPrinter printer = ZebraPrinterFactory.getInstance(printerConnection)从驱动中获取连接,但该方法速度比较慢。

解决方法

目前提供了com.zebra.sdk.comm.DriverPrinterConnection来替代ZebraPrinterFactory.getInstance方法,示例代码如下:

private void sendAndWaitDate() {
    Connection conn = null;
    try {
        conn = new DriverPrinterConnection("ZDesigner ZT410-300dpi ZPL");
        conn.open();
        byte[] zpl = "^XA^FN1^RFR,H,0,12,2^FS^FH_^HV1,256^FS^RFW,H,1,14,1^FD3000313233343536373839414243^FS^XZ".getBytes();
        byte[] tid = null;
        tid = conn.sendAndWaitForResponse(zpl, 500, 500, null);
        DemoDialog.showErrorDialog(SendFileDemo.this, tid.toString(), tid.toString());
    } catch (ConnectionException e) {
        DemoDialog.showErrorDialog(SendFileDemo.this, e.getMessage(), "Connection Error!");
    } finally {
        try {
            if (conn != null) conn.close();
        } catch (ConnectionException e) { }
    }
}

小结:通过使用DriverPrinterConnection替代ZebraPrinterFactory.getInstance,可显著缩短USB连接响应时间,提升开发效率。

« 返回列表
博尔杰PTS|博尔杰标识商城|博盾安全标识|博锐迪生物标签