本文介绍微消息队列MQTT版云端SDK提供的接口和相关的参数说明。

使用说明

  • 公共参数和网络参数可在ChannelConfig.class中设置。ChannelConfig.class路径为server-sdk-{SDK Version}\com\alibaba\mqtt\server\config,其中{SDK Version}为云端SDK的版本号。SDK下载,请参见版本说明
  • 一般情况下网络参数使用默认值,不需要自定义设置。若您需要修改参数值,请根据网络状态合理设置。

公共参数

参数 说明
domain 微消息队列MQTT版实例的接入点。客户端通过接入点连接微消息队列MQTT版服务端。接入点详细说明和获取方式请参见接入点说明
注意 接入点必须填写系统分配的域名,不能使用IP地址直接连接,否则可能会导致客户端连接异常。
port 协议端口。端口和使用的协议必须匹配,云端SDK中,该参数值固定为5672。
instanceId 您在微消息队列MQTT版控制台创建的实例的ID。可在微消息队列MQTT版控制台实例详情页面查看。
accessKey 您在阿里云账号管理控制台中创建的AccessKey ID,用于身份认证。获取方式,请参见获取AccessKey
secretKey 您在阿里云账号管理控制台中创建的AccessKey Secret,用于身份认证。获取方式,请参见获取AccessKey。仅在Signature鉴权模式下需要设置。

网络参数

参数 说明
networkRecoveryInterval TCP连接自动恢复的时间间隔,默认值:5000 ms。
connectionTimeout TCP请求连接超时时间。默认值:60000 ms。

若TCP请求超过改参数设置的参数值,客户端会返回失败响应。

handshakeTimeout TCP连接握手超时时间,默认值:10000 ms。

若连接握手时间超过该参数设置的参数值,客户端会返回失败响应。

requestedHeartbeat 心跳间隔时间,默认值:60 s。

若心跳间隔超过该参数设置的参数值,客户端会返回失败响应。

shutdownTimeout 连接关闭超时时间,默认值:10000 ms,取值为0时表示该参数无限大。

该参数表示当TCP连接关闭时,消费者还可以继续处理消息的时间。

消息发送接口

  • 接口名称sendMessage
  • 类名称com.alibaba.mqtt.server.ServerProducer
表 1. 消息发送参数
参数 说明
mqttTopic

微消息队列MQTT版的Topic,包括父级Topic和子级Topic。

其中父级Topic需要在微消息队列MQTT版控制台创建。子级Topic无需创建,直接在代码中定义。更多信息,请参见基本概念

注意 如果使用了未创建或未授权的Topic,会导致客户端鉴权失败,微消息队列MQTT版服务端断开客户端的连接。
payload 消息体。
sendCallback 消息发送回调,在回调中处理消息发送状态。

消息订阅接口

  • 接口名称subscribeTopic
  • 类名称com.alibaba.mqtt.server.ServerConsumer
表 2. 消息订阅参数
参数 说明
firstTopic 您在微消息队列MQTT版控制台创建的父级Topic。更多信息,请参见基本概念
注意 如果使用了未创建或未授权的Topic,会导致客户端鉴权失败,微消息队列MQTT版服务端断开客户端的连接。
messageListener 消息订阅回调,在回调中处理订阅的消息。

设备上下线事件接口

  • 接口名称subscribeStatus
  • 类名称com.alibaba.mqtt.server.ServerConsumer
表 3. 设备上下线事件接口参数
参数 说明
mqttGroupId

您在微消息队列MQTT版控制台创建的Group的ID。更多信息,请参见基本概念

statusListener 上下线事件回调,在回调中处理设备上下线消息。