促进与印表机进行管理讯息通信的类。 更多...
Public 成员函数 | |
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.