促進與印表機進行管理訊息通信的類別。 更多...
公開方法(Public Methods) | |
| Messenger (IComm commToPtr, int maxInputMsgCapacity, MgmtChannelFilterType listenerType, boolean usingDataPort) | |
| 創建一個通道來發送/接收管理訊息,並指定最大容量。 更多... | |
| void | close () |
| String | GetID () |
| 區分同時與印表機通信的不同訊息發送者的 ID。此 ID 用於 MgmtMsg 中的「To」/「From」。 | |
| MgmtMsg | ReadNextMsg () |
| 讀取可能已從印表機非同步接收的下一則訊息。 | |
| String | SendMsg (String command, String content) |
| String | SendMsg (String command, String content, String trackNo) |
| 將管理命令和資料/內容發送到印表機。 更多... | |
| MgmtMsg | SendMsgAndWaitForResponse (String command, String content) |
| MgmtMsg | SendMsgAndWaitForResponse (String command, String content, int maxWaitTimeSecs) |
| 發送管理命令和資料/內容到印表機,並等待maxWaitTimeSecs時間的回應。 更多... | |
| void | SendMsgRaw (String dataToSend) |
| 將內容直接發送至印表機,不進行任何訊息格式化。 更多... | |
| int | UnreadMsgCount () |
| 獲取接收到的未讀訊息數量,這些訊息正在等待被讀取。 | |
促進與印表機進行管理訊息通信的類別。
| Messenger | ( | IComm | commToPtr, |
| int | maxInputMsgCapacity, | ||
| MgmtChannelFilterType | listenerType, | ||
| boolean | usingDataPort | ||
| ) |
創建一個通道來發送/接收管理訊息,並指定最大容量。
如果在接收到更多訊息之前未讀取訊息,則會丟棄最舊的訊息。
詳情請參考 FullMode
如果與印表機的通訊 commToPtr 是通過與發送列印資料相同的埠,則將 usingDataPort 設置為 true。這很重要,以正確格式化管理訊息,使印表機可以區分訊息與列印資料。
| String SendMsg | ( | String | command, |
| String | content, | ||
| String | TrackNo | ||
| ) |
將管理命令和資料/內容發送到印表機。
選用的 TrackNo 是用於傳送至印表機的 JSON 命令結構中的欄位,可供呼叫者檢查印表機的回應。若未提供 TrackNo,則會自動生成一個。
回傳的字串是發送給印表機的 JSON 訊息中的 TrackNo 欄位,允許呼叫者透過比較從印表機收到的回應中的 TrackNo 欄位來區分與已發送訊息相關的回應。
實作 IMgmtMessenger.
| MgmtMsg SendMsgAndWaitForResponse | ( | String | command, |
| String | content, | ||
| int | maxWaitTimeSecs | ||
| ) |
發送管理命令和資料/內容到印表機,並等待maxWaitTimeSecs時間的回應。
若在超時前未收到回應,則回傳空物件。
所有訊息在接收到特定訊息的回應之前都會被丟棄。這些被丟棄的訊息可能包括在調用此方法之前等待讀取的未讀或舊訊息。
實作 IMgmtMessenger.
| void SendMsgRaw | ( | String | dataToSend | ) |
將內容直接發送至印表機,不進行任何訊息格式化。
用於需要發送未經任何管理訊息格式化的資料情況。 如果有特殊管理訊息或需要發送的資料共享用於資料和管理的端口,則可以使用此方法直接將資料發送到印表機。
實作 IMgmtMessenger.