UniPRT SDK  v1.0.0.0
OdvMonitor类 参考

提供 ODV 相关服务的支持。模块用于协助监听/检索与 ODV 相关的印表机未请求讯息。 更多...

类 OdvMonitor 继承关系图:
IOdvMonitor

Public 成员函数

 OdvMonitor (JsonComm mgmtComm)
 当管理 comm 对象已存在以监听管理讯息时调用的构造函数。 更多...
 
 OdvMonitor (String commDescriptor)
 当创建由 SDK 管理的连接时调用此构造函数。 更多...
 
 OdvMonitor (TcpConnection connection)
 必须传递一个已打开的 comm 连接,该连接必须保持打开状态以监听未请求的 ODV 报告。 更多...
 
void close () throws Exception
 
void Dispose ()
 
OdvReportNotice GetOdvReportCallback ()
 继承自 IOdvMonitor.OdvReportListening
 
boolean GetOdvReportListening ()
 继承自 IOdvMonitor.OdvReportListening
 
void SetOdvReportCallback (OdvReportNotice callback)
 保存接收 ODV 报告时要调用的函数。函数必须符合 OdvReportNotice 的签名。 更多...
 
void SetOdvReportListening (boolean listening)
 启用/禁用监听或解析印表机发送的非请求 ODV 报告 更多...
 

Protected 成员函数

void Dispose (boolean disposing)
 
void finalize () throws Throwable
 

详细描述

提供 ODV 相关服务的支持。模块用于协助监听/检索与 ODV 相关的印表机未请求讯息。

如果启用了未请求的讯息,印表机可以随时发送讯息。 此模块需要与印表机管理端口保持持续的“状态”连接,以便监听从印表机发送的任何讯息。

备注
  • 要使印表机发送 ODV 报告,必须设置以下配置:
    • 在印表机 OVD 菜单中: "Validator Active = Enable", "Telemetry Path = Network Port", "Telemetry Data = Full Report"

示例

package com.test.UniPRTSdk;
import java.util.Arrays;
import com.UniPRT.Sdk.Json.OdvMonitor;
import com.UniPRT.Sdk.Json.OdvReport;
public class OdvMonitorSnippet {
private static OdvMonitor _odvReportListener = null;
public static void main(String[] args) {
System.out.println("Listening for ODV barcode reports.");
try {
//_odvReportListener = new OdvMonitor("127.0.0.1");
_odvReportListener = new OdvMonitor("192.168.1.55");
_odvReportListener.SetOdvReportListening(true); // enable parsing of unsolicited barcode report msgs from printer
_odvReportListener.SetOdvReportCallback(OdvMonitorSnippet::myOdvReportProcessing); // set the callback/delegate to call when reports received
while (true) { // wait for something to happen
// pretend to be busy doing some other work here...
Thread.sleep(1000); // simulate work
}
} catch (Exception e) {
System.out.printf("Exception Msg: %s%n", e.getMessage());
} finally {
if (_odvReportListener != null) {
_odvReportListener.Dispose();
}
}
}
public static void myOdvReportProcessing(OdvReport odvReport) {
// Could also customize into CSV format based on needs
String userFriendlyResult = odvReport.Failed() ? "failed" : "passed"; // failure output as "failed"/"passed" to make more user friendly
System.out.println("\r\nShort CSV Format (customized ordered list): pass/fail, Grade, Data");
System.out.printf(" %s, %s, %s%n", userFriendlyResult, odvReport.OverallGrade(), odvReport.Data());
}
}

输出

将带有条码的打印作业发送到印表机并获得条码报告后的结果。

输出

构造及析构函数说明

◆ OdvMonitor() [1/3]

OdvMonitor ( TcpConnection  connection)

必须传递一个已打开的 comm 连接,该连接必须保持打开状态以监听未请求的 ODV 报告。

连接是用于发送/接收讯息的必要条件。

◆ OdvMonitor() [2/3]

OdvMonitor ( JsonComm  mgmtComm)

当管理 comm 对象已存在以监听管理讯息时调用的构造函数。

每台印表机的 JsonComm 对象负责监听和解析完整的管理讯息,并将其转发给所有管理讯息监听者。

◆ OdvMonitor() [3/3]

OdvMonitor ( String  commDescriptor)

当创建由 SDK 管理的连接时调用此构造函数。

commDescriptor 是用于与印表机建立通信的描述符。
TCP 描述符格式为:"ip" 或 "ip:port"
例如:"127.0.0.1" 或 "127.0.0.1:3007"
若未提供端口,则使用默认值。

成员函数说明

◆ SetOdvReportCallback()

void SetOdvReportCallback ( OdvReportNotice  callback)

保存接收 ODV 报告时要调用的函数。函数必须符合 OdvReportNotice 的签名。

传递给函数的参数是一个 OdvReport 对象,代表接收到的 ODV 报告。

实现了 IOdvMonitor.

◆ SetOdvReportListening()

void SetOdvReportListening ( boolean  listening)

启用/禁用监听或解析印表机发送的非请求 ODV 报告

注意,必须启用此功能才能在接收条码报告时接收任何通知 OdvReportCallback。

实现了 IOdvMonitor.

com.UniPRT.Sdk.Json.OdvMonitor.OdvMonitor
OdvMonitor(TcpConnection connection)
必须传递一个已打开的 comm 连接,该连接必须保持打开状态以监听未请求的 ODV 报告。
Definition: OdvMonitor.java:246