用于促进与印表机进行管理讯息通信的类。 更多...
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] |
用于促进与印表机进行管理讯息通信的类。
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 | ) |
将内容不进行任何讯息格式化直接发送到印表机。
适用于需要发送未经任何管理讯息格式化的数据的情况。 如果需要在同时用于数据和管理的端口中发送特别的管理讯息或数据,可以使用此方法直接将数据发送到印表机。