UniPRT SDK  v1.0.0.0
UniPRT.Sdk.Mgmt.Messenger类 参考

用于促进与印表机进行管理讯息通信的类。 更多...

类 UniPRT.Sdk.Mgmt.Messenger 继承关系图:
UniPRT.Sdk.Mgmt.IMgmtMessenger

Public 成员函数

 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 成员函数

virtual void Dispose (bool disposing)
 

属性

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.