关于MQTT传输协议的疑问
对于协议的本质,应该就是定义了一种规范,发送方根据这个规范发送指定格式的数据,接收方接到数据后可以正确的解析出来,提取所需的信息。是这么理解吧。
现在有一个MQTT协议,是物联网的标准协议,专门为低宽带、不可信网络设计的高效传输协议。
一般架构是 Producer ------push------> Broker <------pull--------Consumer。
生产者给Broker发送MQTT格式的消息,Consumer从Broker中拉取消息。那么问题就来了:中间那个Broker一定要实现MQTT协议么?
那个Broker不就是用来转发消息的么,消息中转站。为什么一定要实现MQTT协议呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
引用来自“wwwjjj”的评论
mqtt针对低带宽或者不稳定的连接有处理 , 所以一条数据必然是拆分成多块传递的
我理解是不管在push还是pull过程中,都涉及数据块的拆分和合并,由此broker应该不是简单的转发,所以也必须实现这个协议
MQTT 和物联网没特定关系,,,只是一种消息协议而已,AMQP,STOMP,Websocket 等现在都比较流行。
mqtt针对低带宽或者不稳定的连接有处理 , 所以一条数据必然是拆分成多块传递的
我理解是不管在push还是pull过程中,都涉及数据块的拆分和合并,由此broker应该不是简单的转发,所以也必须实现这个协议
必须要实现,比如mqtt中的有个参数 QOS,也就是传输质量。如果服务器端不实现MQTT协议,怎么能够解析到消息中的QOS参数呢,进而又怎么保证传输质量呢。