UniPRT SDK  v1.0.0.0
UniPRT.Sdk.Mgmt.Messenger 類別 參考文件

用於促進與印表機進行管理訊息通信的類別。 更多...

類別UniPRT.Sdk.Mgmt.Messenger的繼承圖:
UniPRT.Sdk.Mgmt.IMgmtMessenger

公開方法(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]
 

詳細描述

用於促進與印表機進行管理訊息通信的類別。

建構子與解構子說明文件

◆ Messenger()

UniPRT.Sdk.Mgmt.Messenger.Messenger ( IComm  commToPtr,
int  maxInputMsgCapacity = 100,
MgmtChannelFilterType  listenerType = MgmtChannelFilterType.MY_SOLICITED_MSGS_ONLY,
bool  usingDataPort = false 
)

創建一個用於發送/接收管理訊息的通道,並指定最大容量。

如果在收到更多訊息之前未讀取,則會丟棄最舊的訊息。

有關更多詳細資訊,請參考 FullMode
如果與印表機 commToPtr 的通信是通過與打印數據相同的端口,請將 usingDataPort 設為 true。這對於正確格式化管理訊息以便印表機區分訊息和打印數據非常重要。

函式成員說明文件

◆ SendMsg()

string UniPRT.Sdk.Mgmt.Messenger.SendMsg ( string  command,
string  content,
string  TrackNo = "" 
)

發送管理命令和數據/內容到印表機。

可選的 TrackNo 是發送到印表機的 JSON 命令結構中的欄位,呼叫者可以使用該欄位檢查印表機的回應。如果未提供 TrackNo,則會自動生成一個。

返回的字串是發送到印表機的 JSON 訊息中使用的 TrackNo 欄位,允許呼叫者通過比較印表機回應中 TrackNo 欄位來區分與發送的訊息相關的任何回應。

實作 UniPRT.Sdk.Mgmt.IMgmtMessenger.

◆ SendMsgAndWaitForResponse()

MgmtMsg UniPRT.Sdk.Mgmt.Messenger.SendMsgAndWaitForResponse ( string  command,
string  content,
int  maxWaitTimeSecs = 6 
)

發送管理命令和數據/內容到印表機並等待回應,最多等待 maxWaitTimeSecs 秒。

如果在超時之前未收到回應,則返回空物件。
所有訊息將被丟棄,直到接收到發送的特定訊息的回應。丟棄的訊息可能包括在調用此方法之前等待被讀取的任何未讀取/舊的訊息。

實作 UniPRT.Sdk.Mgmt.IMgmtMessenger.

◆ SendMsgRaw()

void UniPRT.Sdk.Mgmt.Messenger.SendMsgRaw ( string  dataToSend)

將內容不進行任何訊息格式化直接發送到印表機。

適用於需要發送未經任何管理訊息格式化的數據的情況。 如果需要在同時用於數據和管理的端口中發送特別的管理訊息或數據,可以使用此方法直接將數據發送到印表機。

實作 UniPRT.Sdk.Mgmt.IMgmtMessenger.