根据规范,始终应由客户端建立与服务器的连接。
客户:
使用MQTT的程序或设备。客户端始终与服务器建立网络连接。它可以
发布其他客户端可能感兴趣的应用程序消息。
订阅以请求有兴趣接收的应用程序消息。
退订以删除对应用程序消息的请求。
与服务器断开连接。
并且,如果此客户端订阅了应用程序消息,则服务器应将这些消息转发到此特定客户端。
服务器:
一种程序或设备,充当发布应用程序消息的客户端和进行订阅的客户端之间的中介。服务器
接受来自客户端的网络连接。
接受客户发布的应用程序消息。
处理来自客户端的订阅和取消订阅请求。
转发与客户端订阅匹配的应用程序消息。
这是否意味着如果客户端进行预订,那么即使大部分时间没有数据流,在预订有效的情况下它仍保持与服务器的连接?
我得出这个结论是因为,如果客户端在订阅后断开连接,则服务器无法将消息转发给它,因为客户端应该建立连接。但是它不知道何时重新建立它。