MQTT 客户机实用程序

MQTT 客户机实用程序是一种 Java 应用程序,您可以利用它来探究 MQTT 的功能,即如何连接至队列管理器以及如何发布和预订主题。

可以使用该客户机实用程序来验证遥测设置(例如,在创建遥测通道时进行验证),或者,当您开发和调试应用程序时,客户机可以提供帮助。 有关 MQTT 客户机实用程序的功能和属性的更多信息,请参阅下列描述:

发布
将消息发布至主题,然后将此消息分发给感兴趣的订户。
预订
客户机和 MQXR 侦听器可通过预订感兴趣的主题,以在该主题中注册,从而可以接收发布到该主题的消息。
Topic
主题是用于标识要将消息发布至的信息通道的主题字符串。 订户使用主题名称来标识他们想用来接收所发布消息的信息通道。
主题通配符

预订可以包含特殊字符,并且您一次可以预订多个主题。 主题级分隔符使用正斜杠 (/) 来分隔某个主题中的每个级别,从而创建一种分层结构。 例如,ibm/qmgr/apple。 主题级分隔符实现了更大的灵活性,并可以简化主题管理。

对于预订,支持使用两种通配符:
  • 编号符号 (#) 用于和主题中任意数目的级别匹配。 例如,如果您预订 ibm/qmgr/# 主题,那么您将接收到有关 ibm/qmgr/appleibm/qmgr/orange 主题的消息。

  • 加号 (+) 仅与一个主题级别匹配。 例如,ibm/qmgr/+ 将与 ibm/qmgr/apple 相匹配,但是与 ibm/qmgr/apple/queue 不匹配。

    您可以在主题树末尾或者主题树中间使用 +。 例如,ibm/+ibm/+/orange 都有效。

不允许在发布主题中包含 + 或 #。

消息
MQTT 客户机实用程序上下文中的消息是指分发给表明对某个主题感兴趣的订户的消息有效内容。 消息可由字母数字字符组成。
服务质量 (QoS)
MQTT 客户机实用程序提供了三种服务质量,如下所示:
至多一次 (QoS = 0)
  • 至多传递一次消息,或者根本就不传递消息。 不会确认是否接收到消息。
  • 如果客户机断开连接或者服务器失败,那么消息可能会丢失。
至少一次 (QoS = 1)
  • 至少传递一次消息。 如果在经过一段时间后未收到确认信息,或者检测到故障并且重新启动了通信会话,那么可能会多次传递消息。
  • 消息必须存储在发送方本地,直到收到确认信息,以防需要再次发送此消息。 在用于接收消息的应用程序中可能会复制消息。
刚好一次 (QoS = 2)
  • 这是最高传递级别,在这种情况下,将传递一次消息并且只传递一次。 假定已传递,但不会将重复的消息传递至接收方应用程序。
已保留
仅当发布消息时才使用此选项。 它确定在消息传递到当前订户后, MQTT 服务器 (在 IBM® MQ(队列管理器) 中) 是否保留来自主题发布的消息。 如果您针对具有保留发布的主题创建预订,那么将立即接收到有关该主题的最新保留发布。
最后的消息
这是一个连接选项,用于确定在 MQTT 客户机意外断开连接的情况下发送到 IBM MQ的消息。 此选项包括主题、消息、QoS 以及用于保留发布的选项。 请考虑将 QoS 设置为 12 以保证传递消息。
清除会话
使用清除会话启动 MQTT 客户机时,在连接之前,将除去所有暂挂的发布以及存在于该客户机上的所有旧预订。 如果不存在先前的会话,那么将使用新会话来启动客户机实用程序。
客户机历史记录
客户机历史记录提供了有关使用 MQTT 客户机实用程序时发生的事件的信息。 事件示例包括:ConnectedDisonnectedPublishedSubscribed

通过选择某个条目并按 Enter 键来查看有关该条目的完整详细信息。 或者,双击该条目。

要对客户机历史记录中的列进行重新排序,可拖动列名,然后按照您选择的任何顺序放置这些列名。