促进与印表机进行管理讯息通信的类。 更多...
Public 成员函数 | |
Messenger (IComm commToPtr, int maxInputMsgCapacity, MgmtChannelFilterType listenerType, boolean usingDataPort) | |
创建一个通道来发送/接收管理讯息,并指定最大容量。 更多... | |
String | GetID () |
区分同时与印表机通信的不同讯息发送者的 ID。此 ID 用于 MgmtMsg 中的“To”/“From”。 更多... | |
String | SendMsg (String command, String content, String trackNo) |
将管理命令和数据/内容发送到印表机。 更多... | |
String | SendMsg (String command, String content) |
MgmtMsg | SendMsgAndWaitForResponse (String command, String content, int maxWaitTimeSecs) |
发送管理命令和数据/内容到印表机,并等待maxWaitTimeSecs时间的响应。 更多... | |
MgmtMsg | SendMsgAndWaitForResponse (String command, String content) |
void | SendMsgRaw (String dataToSend) |
将内容直接发送至印表机,不进行任何讯息格式化。 更多... | |
int | UnreadMsgCount () |
获取接收到的未读讯息数量,这些讯息正在等待被读取。 更多... | |
MgmtMsg | ReadNextMsg () |
读取可能已从印表机异步接收的下一条讯息。 更多... | |
void | close () |
Private 成员函数 | |
String | NextMsgId () |
Private 属性 | |
boolean | usingDataPort = false |
JsonComm | _mgmtComm |
Channel< String > | _msgsFromPtr |
String | _myMgmtId = "" |
AtomicLong | _trackCount = new AtomicLong(1) |
促进与印表机进行管理讯息通信的类。
com.UniPRT.Sdk.Mgmt.Messenger.Messenger | ( | IComm | commToPtr, |
int | maxInputMsgCapacity, | ||
MgmtChannelFilterType | listenerType, | ||
boolean | usingDataPort | ||
) |
创建一个通道来发送/接收管理讯息,并指定最大容量。
如果在接收到更多讯息之前未读取讯息,则会丢弃最旧的讯息。
详情请参考 FullMode
如果与印表机的通信 commToPtr 是通过与发送打印数据相同的端口,则将 usingDataPort 设置为 true。这很重要,以正确格式化管理讯息,使印表机可以区分讯息与打印数据。
引用了 com.UniPRT.Sdk.Mgmt.Messenger._mgmtComm, com.UniPRT.Sdk.Mgmt.Messenger._myMgmtId, com.UniPRT.Sdk.Json.JsonComm.ChannelListenerJson(), com.UniPRT.Sdk.Json.JsonCommController.CreateMgmtComm(), com.UniPRT.Sdk.Json.JsonStringBuilder.GetRandomObjectId_Json(), com.UniPRT.Sdk.Json.JsonCommController.Instance() , 以及 com.UniPRT.Sdk.Mgmt.Messenger.usingDataPort.
void com.UniPRT.Sdk.Mgmt.Messenger.close | ( | ) |
String com.UniPRT.Sdk.Mgmt.Messenger.GetID | ( | ) |
区分同时与印表机通信的不同讯息发送者的 ID。此 ID 用于 MgmtMsg 中的“To”/“From”。
|
private |
MgmtMsg com.UniPRT.Sdk.Mgmt.Messenger.ReadNextMsg | ( | ) |
读取可能已从印表机异步接收的下一条讯息。
实现了 com.UniPRT.Sdk.Mgmt.IMgmtMessenger.
引用了 com.UniPRT.Sdk.Mgmt.Messenger._msgsFromPtr , 以及 com.UniPRT.Sdk.Mgmt.Channel< T >.Take().
String com.UniPRT.Sdk.Mgmt.Messenger.SendMsg | ( | String | command, |
String | content | ||
) |
String com.UniPRT.Sdk.Mgmt.Messenger.SendMsg | ( | String | command, |
String | content, | ||
String | TrackNo | ||
) |
将管理命令和数据/内容发送到印表机。
可选的 TrackNo 是用于发送到印表机的 JSON 命令结构中的字段,可供调用者检查印表机的响应。如果未提供 TrackNo,则会自动生成一个。
返回的字符串是发送给印表机的 JSON 讯息中的 TrackNo 字段,允许调用者通过比较从印表机接收到的响应中的 TrackNo 字段来区分与已发送讯息相关的响应。
实现了 com.UniPRT.Sdk.Mgmt.IMgmtMessenger.
引用了 com.UniPRT.Sdk.Mgmt.Messenger._mgmtComm, com.UniPRT.Sdk.Mgmt.Messenger._myMgmtId, com.UniPRT.Sdk.Json.JsonStringBuilder.CreateMsgFrame_Json(), com.UniPRT.Sdk.Mgmt.Messenger.NextMsgId(), com.UniPRT.Sdk.Json.JsonComm.Send() , 以及 com.UniPRT.Sdk.Mgmt.Messenger.usingDataPort.
被这些函数引用 com.UniPRT.Sdk.Mgmt.Messenger.SendMsg() , 以及 com.UniPRT.Sdk.Mgmt.Messenger.SendMsgAndWaitForResponse().
MgmtMsg com.UniPRT.Sdk.Mgmt.Messenger.SendMsgAndWaitForResponse | ( | String | command, |
String | content | ||
) |
MgmtMsg com.UniPRT.Sdk.Mgmt.Messenger.SendMsgAndWaitForResponse | ( | String | command, |
String | content, | ||
int | maxWaitTimeSecs | ||
) |
发送管理命令和数据/内容到印表机,并等待maxWaitTimeSecs时间的响应。
如果在超时前未收到响应,则返回空对象。
所有讯息在收到特定讯息的响应之前都会被丢弃。丢弃的讯息可能包括在调用此方法之前等待读取的未读或旧讯息。
实现了 com.UniPRT.Sdk.Mgmt.IMgmtMessenger.
引用了 com.UniPRT.Sdk.Mgmt.Messenger._msgsFromPtr, com.UniPRT.Sdk.Mgmt.Channel< T >.Poll(), com.UniPRT.Sdk.Mgmt.Messenger.SendMsg() , 以及 com.UniPRT.Sdk.Mgmt.MgmtMsg.TrackNo.
被这些函数引用 com.UniPRT.Sdk.Mgmt.Messenger.SendMsgAndWaitForResponse().
void com.UniPRT.Sdk.Mgmt.Messenger.SendMsgRaw | ( | String | dataToSend | ) |
将内容直接发送至印表机,不进行任何讯息格式化。
用于需要发送未经任何管理讯息格式化的数据情况。 如果有特殊管理讯息或需要发送的数据在数据和管理共享的端口中,则可使用此方法直接将数据发送到印表机。
实现了 com.UniPRT.Sdk.Mgmt.IMgmtMessenger.
引用了 com.UniPRT.Sdk.Mgmt.Messenger._mgmtComm , 以及 com.UniPRT.Sdk.Json.JsonComm.Send().
int com.UniPRT.Sdk.Mgmt.Messenger.UnreadMsgCount | ( | ) |
获取接收到的未读讯息数量,这些讯息正在等待被读取。
实现了 com.UniPRT.Sdk.Mgmt.IMgmtMessenger.
引用了 com.UniPRT.Sdk.Mgmt.Messenger._msgsFromPtr , 以及 com.UniPRT.Sdk.Mgmt.Channel< T >.Size().
|
private |
|
private |
|
private |
|
private |
|
private |