砍材农夫砍材农夫
  • 微信记账小程序
  • java
  • redis
  • mysql
  • 场景类
  • 框架类
  • vuepress搭建
  • hexo搭建
  • 云图
  • llm wiki

    • 基于karpathy
    • gradle
  • 常用工具

    • git
    • gradle
    • Zadig
    • it-tools
    • 开源推荐
    • curl
  • 大前端

    • nodejs
    • npm
    • webpack
    • 微信
    • 正则
    • uniapp
    • app
  • java

    • java基础
    • jdk体系
    • jvm
    • spring
    • spring_cloud
    • spring_boot
    • 分库分表
    • zookeeper
  • python

    • python基础
    • python高级
    • python框架
  • 算法

    • 算法
  • 网关

    • spring_cloud_gateway
    • openresty
  • 高可用

    • 秒杀
    • 分布式
    • 缓存一致
  • MQ

    • MQ
    • rabbitMQ
    • rocketMQ
    • kafka
  • 其它

    • 设计模式
    • 领域驱动(ddd)
  • 关系型数据库

    • mysql5.0
    • mysql8.0
  • 非关系型数据库

    • redis
    • mongoDB
  • 分布式/其他

    • ShardingSphere
    • 区块链
  • 向量数据库

    • M3E
    • OPEN AI
  • Jmeter
  • fiddler
  • wireshark
  • AI入门
  • AI大模型
  • AI插件
  • AI集成框架
  • 相关算法
  • AI训练师
  • 量化交易
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 相关运营
  • docker
  • k8s
  • devops
  • nginx
  • 元宇宙
  • 区块链
  • 物联网
  • linux
  • webrtc
  • web3.0
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 中考
  • 投资
  • 保险
  • 思
  • 微信记账小程序
  • java
  • redis
  • mysql
  • 场景类
  • 框架类
  • vuepress搭建
  • hexo搭建
  • 云图
  • llm wiki

    • 基于karpathy
    • gradle
  • 常用工具

    • git
    • gradle
    • Zadig
    • it-tools
    • 开源推荐
    • curl
  • 大前端

    • nodejs
    • npm
    • webpack
    • 微信
    • 正则
    • uniapp
    • app
  • java

    • java基础
    • jdk体系
    • jvm
    • spring
    • spring_cloud
    • spring_boot
    • 分库分表
    • zookeeper
  • python

    • python基础
    • python高级
    • python框架
  • 算法

    • 算法
  • 网关

    • spring_cloud_gateway
    • openresty
  • 高可用

    • 秒杀
    • 分布式
    • 缓存一致
  • MQ

    • MQ
    • rabbitMQ
    • rocketMQ
    • kafka
  • 其它

    • 设计模式
    • 领域驱动(ddd)
  • 关系型数据库

    • mysql5.0
    • mysql8.0
  • 非关系型数据库

    • redis
    • mongoDB
  • 分布式/其他

    • ShardingSphere
    • 区块链
  • 向量数据库

    • M3E
    • OPEN AI
  • Jmeter
  • fiddler
  • wireshark
  • AI入门
  • AI大模型
  • AI插件
  • AI集成框架
  • 相关算法
  • AI训练师
  • 量化交易
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 相关运营
  • docker
  • k8s
  • devops
  • nginx
  • 元宇宙
  • 区块链
  • 物联网
  • linux
  • webrtc
  • web3.0
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 中考
  • 投资
  • 保险
  • 思
  • 首页
    • 开发板介绍
    • micropython环境搭建
    • esp32开发板
    • 面包板
    • 万能表使用
  • 面包板
    • 点灯
  • esp32
    • 点亮开发板led灯
    • 点亮外接led
    • 点亮外接oled文字
    • 红外传感器
    • 红外传感器+olde
    • esp32+面包板
  • MQTT编程

    • MQTT入门

      • 物联网 MQTT
      • 物联网 MQTT和Socket
      • 物联网 MQTT订阅性能优势
      • 物联网 MQTT简易版Broker
    • HiveMQ

      • hivemq实战入门
    • Protobuf

      • Protobuf入门
      • Protobuf入门+梳理
      • Protobuf实战第一篇
    • emqx

      • emqx入门
    • mica

      • mica入门
    • netty

      • 基于netty构建入门
      • 理解粘包/拆包
      • 编解码器机制与自定义协议
      • 心跳和ack机制
      • mqtt服务demo演示
      • mqtt服务协议支持
      • mqtt服务udp支持
      • mqtt协议规范(发布/订阅模式)
      • mqtt协议规范(轻量级二进制协议)
      • mqtt协议规范(三种 QoS 等级)
      • mqtt协议规范(主题通配符订阅)
      • mqtt协议规范(遗嘱与保留消息)
  • 物联网 基于netty构建mqtt服务协议支持
    • 核心协议
    • 传输协议
    • 安全协议
    • WSS 不是独立协议
    • 配置 Netty 的 MQTT 服务

物联网 基于netty构建mqtt服务协议支持

核心协议

MQTT 核心协议版本 MQTT v3.1, v3.1.1, v5.0 基于 Netty 构建的项目支持相应版本

传输协议

传输协议支持 TCP (原生MQTT)(默认端口:1883)WebSocket(默认端口:8080)

  • TCP(原生 MQTT)
标准的 MQTT 协议直接在 TCP 连接上运行,这是最常用、最高效的方式,
适用于大部分物联网设备和服务端通信
默认端口: 1883
  • WebSocket
将 MQTT 消息封装在 WebSocket 帧中传输,
使得浏览器里的 JavaScript 应用能够通过 WebSocket 连接 MQTT 服务器,
同时也便于穿过只允许 HTTP/HTTPS 的企业防火墙
默认端口: 8080(ws)或 8443(wss,加密版)

安全协议

SSL/TLS (MQTT over TLS)(默认端口:8883) WSS (MQTT over WSS)

┌─────────────────────────────────────────────────┐
│                  MQTT 协议层                     │
└───────────────┬─────────────────┬───────────────┘
                │                 │
        ┌───────▼───────┐ ┌───────▼───────┐
        │   TCP 传输    │ │ WebSocket传输 │   ← 传输协议(决定数据如何打包)
        └───────┬───────┘ └───────┬───────┘
                │                 │
        ┌───────▼───────┐ ┌───────▼───────┐
        │    TLS加密    │ │    TLS加密    │   ← 安全层(可选,叠加后成为加密版本)
        └───────┬───────┘ └───────┬───────┘
                │                 │
          MQTT over TLS       MQTT over WSS
            (端口 8883)         (端口 443/8443)

WSS 不是独立协议

它就是 WebSocket + TLS 的标准缩写

“全协议支持” 意味着 Broker 能同时以上四种组合(TCP、WS、TLS、WSS),
Netty 通过灵活编排 ChannelPipeline 就能实现

配置 Netty 的 MQTT 服务

只需要在 pipeline 中按顺序

明文版:MqttDecoder + MqttEncoder
TLS 版:SslHandler + MqttDecoder + MqttEncoder
WebSocket 版:WebSocketServerProtocolHandler + MqttDecoder + MqttEncoder
WSS 版:SslHandler + WebSocketServerProtocolHandler + MqttDecoder + MqttEncoder
最近更新: 2026/5/14 13:46
Contributors: kcnf
Prev
mqtt服务demo演示
Next
mqtt服务udp支持