![[AIX]](ngaix.gif)
![[Windows]](ngwin.gif)
![[Linux]](nglinux.gif)
查询通道状态 (MQTT)
查询通道状态(MQCMD_INQUIRE_CHANNEL_STATUS) (MQTT) 命令查询一个或多个遥测通道实例的状态。
必须指定要查询其状态信息的通道的名称。 此名称可以是特定通道名称或通用通道名称。 通过使用通用通道名称,您可以查询:
- 所有通道的状态信息,或
- 与指定名称匹配的一个或多个通道的状态信息。
如果未指定 ClientIdentifier 参数,那么 Inquire Channel Status 命令的输出是连接到通道的所有客户机的状态摘要。 每个通道返回一条 PCF 响应消息。
如果指定了 ClientIdentifier 参数,那么将针对每个客户机连接返回单独的 PCF 响应消息。 ClientIdentifier 参数可以是通配符,其中返回与 ClientIdentifier 字符串匹配的所有客户机的状态 (如果设置了这些状态,那么在 MaxResponses 和 ResponseRestartPoint 的限制内)。
必需参数
- ChannelName (MQCFST)
- 通道名称 (参数标识 :MQCACH_CHANNEL_NAME)。
支持通用通道名称。 通用名称是后跟星号 (*) 的字符串,例如
ABC*,它选择名称以所选字符串开头的所有对象。 它自己的星号与所有可能的名称都匹配。仅当 ResponseType 参数设置为 MQRESP_TOTAL 时,才允许使用此参数。
将始终返回通道名称,而不考虑所请求的实例属性。
字符串的最大长度为 MQ_CHANNEL_NAME_LENGTH。
- ChannelType (MQCFIN)
- 通道类型 (参数标识 :MQIACH_CHANNEL_TYPE)。该值必须为:
- MQCHT_MQTT
- 遥测。
可选参数
- ClientIdentifer (MQCFST)
- 客户机的 ClientId (参数标识 :MQCACH_CLIENT_ID)。
- MaxResponses (MQCFIN)
- 要返回状态的最大客户机数 (参数标识 :MQIA_MAX_RESPONSES)。
仅当指定了 ClientIdentifier 参数时,才允许使用此参数。
- ResponseRestartPoint (MQCFIN)
- 返回状态的第一个客户机 (参数标识 :MQIA_RESPONSE_RESTART_POINT)。 此参数与 MaxResponses 的组合使您能够指定客户机范围。
仅当指定了 ClientIdentifier 参数时,才允许使用此参数。
客户机详细信息方式
- 状态
- 客户机的当前状态 (参数标识 :MQIACH_CHANNEL_STATUS)。
- CONNAME
- 远程连接的名称 (IP 地址) (参数标识 :MQCACH_CONNECTION_NAME)。
- KAINT
- 客户机的保持活动时间间隔 (参数标识 :MQIACH_KEEP_ALIVE_INTERVAL)。
- MCANAME
- 消息通道代理程序名称 (参数标识 :MQCACH_MCA_USER_ID)。
- MSGSNT
- 自客户机上次连接以来客户机发送的消息数 (参数标识 :MQIACH_MSGS_SENT)。
- MSGRCVD
- 自客户机上次连接以来客户机接收的消息数 (参数标识 :MQIACH_MSGS_RECEIVED/MQIACH_MSGS_RCVD)。
- 不确定
- 客户机的不确定入站消息数 (参数标识 :MQIACH_IN_DOUBT_IN)。
- 不确定
- 客户机的不确定出站消息数 (参数标识 :MQIACH_IN_DOUBT_OUT)。
- 暂挂
- 出站暂挂消息数 (参数标识 :MQIACH_PENDING_OUT)。
- LMSGDATE
- 接收或发送最后一条消息的日期 (参数标识 :MQCACH_LAST_MSG_DATE)。
- LMSGTIME
- 接收或发送最后一条消息的时间 (参数标识 :MQCACH_LAST_MSG_TIME)。
- CHLSDATE
- 启动日期通道 (参数标识 :MQCACH_CHANNEL_START_DATE)。
- CHLSTIME
- 时间通道已启动 (参数标识 :MQCACH_CHANNEL_START_TIME)。
错误代码
除了 适用于所有命令的错误代码中显示的值外,此命令可能会在响应格式头中返回以下错误代码。
- 原因 (MQLONG)
- 值可以是以下任意值:
- mqrccf_channel_name_error
- 通道名称错误。
- mqrccf_channel_not_found
- 找不到通道。
- mqrccf_chl_inst_type_error
- 通道实例类型无效。
- mqrccf_chl_status_not_found
- 找不到通道状态。
- mqrccf_xmit_q_name_error
- 传输队列名称错误。