在WebSocket中使用mqtt

本文深入探讨了WebSocket协议的特性,特别是其如何实现浏览器与服务器间的全双工通信,以及当MQTT协议通过WebSocket传输时所需满足的条件。文章强调了数据帧的正确使用、子协议的选择和URI对MQTT协议的影响。

文章目录

WebSocket协议

WebSocket协议是基于TCP的一种应用层网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。取代了网页和服务器采用HTTP轮询进行双向通讯的机制。

如果mqtt在WebSocket连接上传输,必须满足以下条件:

  • mqtt控制报文必须使用WebSocket二进制数据帧发送,如果收到任何其它类型的数据帧,接收者必须关闭网络连接
  • 单个WebSocket数据帧可以包含多个或者部分mqtt报文,接收者不能假设mqtt控制报文按WebSocket帧边界对齐
  • 客户端必须将字符串 mqtt 包含在它提供的WebSocket子协议列表里
  • 服务端选择和返回的WebSocket子协议名必须是 mqtt
  • 用于连接客户端和服务器的WebSocket URI对MQTT协议没有任何影响

未完待续。。。。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值