有人可以详细解释MQTT协议的工作吗? 经纪人和发布者/订阅者之间是否有持久的联系? 或者代理是否在需要时建立连接?
答案 0 :(得分:1)
MQTT是一种Pub / Sub集中式代理协议,通常通过TCP实现,通常我的意思是,sepcification不强制底层协议是TCP,而是最常用的协议。 Websocket实现也可用。
是的,在发送MQTT Connect消息时会建立TCP连接,这是您需要发送的第一个数据包,无论您使用何种类型的客户端。 MQTT具有检测此连接是否已损坏并因此而起作用的方法。断开连接后可以恢复会话,因此关闭TCP / MQTT连接并不意味着会话将丢失。
在MQTT连接消息之前发送TCP握手。大多数库都会为您处理此问题,但如果您尝试创建自己的库,则显然需要在发送Connect消息之前建立连接。