首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
大数据
›
数据仓库与分析
›
EMQX 作为 MQTT Broker,支持 MQTT over TCP 和 M ...
返回列表
发新帖
EMQX 作为 MQTT Broker,支持 MQTT over TCP 和 MQTT over WebSocket 两种协议
[复制链接]
发表于 2025-5-10 18:03:24
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
1. EMQX 支持的协议与端口
协议类型默认端口用途说明
MQTT over TCP
1883标准的 MQTT 协议,基于 TCP 传输(用于后端服务、
物联网
设备等)。
MQTT over TLS
8883
加密
的 MQTT over TCP(TLS/SSL
加密
,
安全
性更高)。
MQTT over WS
8083基于 WebSocket 的 MQTT(用于浏览器、Web 前端等需要跨域的场景)。
MQTT over WSS
8084
加密
的 MQTT over WebSocket(TLS/SSL 加密)。
关键点
MQTT over TCP
:直接通过 TCP 传输 MQTT 数据包(高
性能
,得当后端服务)。
MQTT over WebSocket
:将 MQTT 数据包封装在 WebSocket 帧中传输(兼容浏览器,得当 Web 应用)。
交互本质
:无论使用哪种协议,EMQX 都会将消息同一处理。比方:
一个 TCP 客户端
发布
消息到主题 sensor/data,WebSocket 客户端订阅同一主题时也能收到消息。
协议对客户端透明,仅影响毗连方式,不影响消息路由逻辑。
2. 在 EMQX 管理配景区分差别协议
在 EMQX Dashboard 中,可以通过以下方式区分差别协议的客户端:
(1) 查看监听器(Listeners)
进入 EMQX Dashboard(默认地址 http://<EMQX-IP>:18083)。
导航到
Management → Listeners
。
https://static.emqx.net/images/emqx-listener-config.png
查看已启用的监听器:
TCP 监听器
:端口 1883(默认名称 mqtt:tcp:internal)。
WebSocket 监听器
:端口 8083(默认名称 mqtt:ws:internal)。
如果启用了 TLS,会显示 8883(TCP TLS)和 8084(WebSocket TLS)。
(2) 客户端毗连信息
进入
Clients
页面,查看已毗连的客户端。
在客户端详情中,
Transport
字段会显示协议类型:
TCP:表示通过 TCP 毗连。
WS:表示通过 WebSocket 毗连。
WSS:表示通过加密的 WebSocket 毗连。
3. 你的设置与 EMQX 的对应关系
根据你的设置文件:
yaml
mqtt:
BASIC: # MQTT over TCP
protocol: MQTT
host: 10.10.206.48
port: 1883 # EMQX 的 TCP 监听端口
DRC: # MQTT over WebSocket
protocol: WS
host: 10.10.206.48
port: 8083 # EMQX 的 WebSocket 监听端口
path: /mqtt # WebSocket 路径
复制
代码
验证设置是否生效
检查 EMQX 监听器
:
确认 1883 和 8083 端口的监听器已启用(通过 Dashboard 的
Listeners
页面)。
如果未启用,需在 EMQX 设置文件 emqx.conf 中添加:
listeners.tcp.default.bind = 1883
listeners.ws.default.bind = 8083
listeners.ws.default.path = /mqtt
复制
代码
测试客户端毗连
:
使用 BASIC 设置的客户端(TCP)毗连到 1883 端口。
使用 DRC 设置的客户端(WebSocket)毗连到 8083 端口,路径为 /mqtt。
4. 注意事项
端口辩论
:
确保 EMQX 的 TCP 和 WebSocket 端口未被
防火墙
拦截。
如果端口未开放,客户端会毗连失败。
路径(Path)
:
WebSocket 毗连的 path 必须与 EMQX 监听器的设置一致(比方 /mqtt)。
如果路径不匹配,WebSocket 握手会失败。
安全
性
:
生产情况建议使用 TLS 加密(端口 8883 或 8084)。
在 Dashboard 的
Listeners
页面可设置 TLS 证书。
总结
EMQX 同时支持 MQTT over TCP 和 WebSocket
,通过差别端口和协议类型区分。
交互逻辑同一
:无论客户端使用哪种协议,消息路由和主题订阅/
发布
的举动一致。
在 Dashboard 中
:通过监听器状态和客户端详情即可区分协议类型。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
返回列表
欢乐狗
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表