UniPRT SDK  v1.0.0.0
OdvMonitor 類別 參考文件

提供 ODV 相關服務的支援。模組用於協助監聽/檢索與 ODV 相關的打印機未請求讯息。 更多...

類別OdvMonitor的繼承圖:
IOdvMonitor

公開方法(Public Methods)

 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 Methods)

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