1. MQTT 中的 Client ID 最大长度是多少?
A. 64 字符
B. 128 字符
C. 256 字符
D. 没有限制
答案:D
解析: MQTT 协议规范没有明确规定 Client ID 的最大长度,但实际实现中通常有限制。
2. MQTT 中的 Keep Alive 时间单位是什么?
A. 毫秒
B. 秒
C. 分钟
D. 小时
答案:B
解析: Keep Alive 时间以秒为单位,表示客户端向服务器发送 PINGREQ 的最大间隔时间。
3. MQTT 中的 Wildcard Subscription 不包括以下哪种?
A. 单级通配符 (+)
B. 多级通配符 (#)
C. 部分通配符 (*)
D. 以上都是合法的
答案:C
解析: MQTT 只支持 + 和 # 两种通配符,* 不是 MQTT 的通配符。
4. MQTT 中的 $SYS 主题前缀通常用于什么?
A. 用户自定义主题
B. 系统级主题
C. 临时主题
D. 私有主题
答案:B
解析: 以 $SYS 开头的主题通常用于发布 Broker 的系统信息,如版本、统计等。
5. MQTT 中的 Bridge 功能主要用于什么?
A. 加密通信
B. 连接不同的 MQTT Broker
C. 压缩消息
D. 身份验证
答案:B
解析: Bridge 功能用于连接不同的 MQTT Broker,实现跨网络的消息桥接。
6. MQTT 中的 Zero-byte Client ID 用于什么场景?
A. 匿名连接
B. 自动生成 Client ID
C. 管理员连接
D. 测试连接
答案:B
解析: 当 Client ID 为空且 Clean Session=True 时,Broker 会为客户端自动生成唯一的 Client ID。
7. MQTT 中的 Maximum QoS 是在哪个报文中协商的?
A. CONNECT/CONNACK
B. SUBSCRIBE/SUBACK
C. PUBLISH/PUBACK
D. DISCONNECT
答案:A