物联网 基于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
相关推荐
·薯条大王7 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
延凡科技7 小时前
工业锅炉智慧云管控平台解决方案|物联网远程监测、智能预警与能耗优化
物联网·远程控制·工业物联网·设备运维·智慧锅炉
ZJH__GO10 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
程序员黑豆10 小时前
Windows 系统 Java 环境变量配置全攻略:解决“不是内部或外部命令”
java·前端·ai编程
命运之光10 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
凤山老林10 小时前
Spring Boot @Async 线上实战:从默认配置到生产级线程池治理
java·spring boot·后端
marvelyu11 小时前
每天10分钟学会OceanBase系列(Day 20):跨机房容灾实战——构建多数据中心高可用架构
java·大数据·数据库
数字新视界11 小时前
IT资产管理系统推动智能化运维与资源更优化管理
物联网·机房管理·蓄电池·动力与环境监控系统·机房动力环境监控
AI人工智能+电脑小能手12 小时前
大白话说Java设计模式-04-工厂方法模式(业务实战篇)
java·设计模式·工厂方法模式·架构设计·代码解耦
BUG指挥官12 小时前
Sa-Token和Spring Security对比
java·后端·spring