用於促進與印表機進行管理訊息通信的類別。 更多...
公開方法(Public Methods) | |
Messenger (IComm commToPtr, int maxInputMsgCapacity=100, MgmtChannelFilterType listenerType=MgmtChannelFilterType.MY_SOLICITED_MSGS_ONLY, bool usingDataPort=false) | |
創建一個用於發送/接收管理訊息的通道,並指定最大容量。 更多... | |
void | Dispose () |
MgmtMsg | ReadNextMsg () |
讀取可能已經從印表機非同步接收的下一則訊息。 | |
string | SendMsg (string command, string content, string TrackNo="") |
發送管理命令和數據/內容到印表機。 更多... | |
MgmtMsg | SendMsgAndWaitForResponse (string command, string content, int maxWaitTimeSecs=6) |
發送管理命令和數據/內容到印表機並等待回應,最多等待 maxWaitTimeSecs 秒。 更多... | |
void | SendMsgRaw (string dataToSend) |
將內容不進行任何訊息格式化直接發送到印表機。 更多... | |
保護方法(Protected Methods) | |
virtual void | Dispose (bool disposing) |
屬性(properties) | |
string | ID [get] |
用於區分同時與印表機通信的不同訊息發送者的 ID。在 MgmtMsg 中用於 "To"/"From"。 | |
int | UnreadMsgCount [get] |
用於促進與印表機進行管理訊息通信的類別。
UniPRT.Sdk.Mgmt.Messenger.Messenger | ( | IComm | commToPtr, |
int | maxInputMsgCapacity = 100 , |
||
MgmtChannelFilterType | listenerType = MgmtChannelFilterType.MY_SOLICITED_MSGS_ONLY , |
||
bool | usingDataPort = false |
||
) |
創建一個用於發送/接收管理訊息的通道,並指定最大容量。
如果在收到更多訊息之前未讀取,則會丟棄最舊的訊息。
有關更多詳細資訊,請參考 FullMode
如果與印表機 commToPtr 的通信是通過與打印數據相同的端口,請將 usingDataPort 設為 true。這對於正確格式化管理訊息以便印表機區分訊息和打印數據非常重要。
string UniPRT.Sdk.Mgmt.Messenger.SendMsg | ( | string | command, |
string | content, | ||
string | TrackNo = "" |
||
) |
發送管理命令和數據/內容到印表機。
可選的 TrackNo 是發送到印表機的 JSON 命令結構中的欄位,呼叫者可以使用該欄位檢查印表機的回應。如果未提供 TrackNo,則會自動生成一個。
返回的字串是發送到印表機的 JSON 訊息中使用的 TrackNo 欄位,允許呼叫者通過比較印表機回應中 TrackNo 欄位來區分與發送的訊息相關的任何回應。
MgmtMsg UniPRT.Sdk.Mgmt.Messenger.SendMsgAndWaitForResponse | ( | string | command, |
string | content, | ||
int | maxWaitTimeSecs = 6 |
||
) |
發送管理命令和數據/內容到印表機並等待回應,最多等待 maxWaitTimeSecs 秒。
如果在超時之前未收到回應,則返回空物件。
所有訊息將被丟棄,直到接收到發送的特定訊息的回應。丟棄的訊息可能包括在調用此方法之前等待被讀取的任何未讀取/舊的訊息。
void UniPRT.Sdk.Mgmt.Messenger.SendMsgRaw | ( | string | dataToSend | ) |
將內容不進行任何訊息格式化直接發送到印表機。
適用於需要發送未經任何管理訊息格式化的數據的情況。 如果需要在同時用於數據和管理的端口中發送特別的管理訊息或數據,可以使用此方法直接將數據發送到印表機。