我正在研究 MQTT 和 TCP/IP 协议。
因为我知道,MQTT 是基于 TCP 的,所以作为 TCP/IP,我们指的是 MQTT,尽管我们有 TCP/IP 协议。
为什么我们不使用 TCP/IP 而不是 MQTT?
MQTT 是否有任何优势使其成为比 TCP/IP 协议更好的解决方案?
哪个更可靠并且需要更少的数据包来形成通信?
(注意:TCP/IP 在使用普通 TCP/IP 协议的 2 个设备之间形成网络的意义上,如 GSM 调制解调器“连接 > 传输数据 > 断开连接”)
MQTT 是否有任何优势使其成为比 TCP/IP 协议更好的解决方案?
是的,它提供了 TCP 不提供的东西,即应用层协议。此类协议的其他示例是 FTP、HTTP、SMTP。
你问错了问题。IP 确保您可以将数据发送到另一台机器,TCP 确保此数据按顺序接收并得到确认,应用程序级协议确保您可以理解接收到的数据。
没有应用程序级协议,就没有有意义的通信。每个套接字编程示例都以“WriteLine”和“ReadLine”文本消息交换开始,这本身就是(虽然是非常基本的)应用程序级协议,即“客户端和服务器交换以换行符结尾的文本消息”。
所以,不,没有应用程序级协议你不能使用 TCP/IP,因为一旦你开始编写发送和/或接收数据的程序,你就已经定义了一个应用程序级协议。
带着自己的问题。这就是为什么你不应该发明自己的协议,而应该使用现有的协议。选择一款适合您的需求。您是否需要向某个代理发布或订阅消息,请使用 MQTT。
除非你很清楚自己在做什么,否则不要自己发明。
| 归档时间: |
|
| 查看次数: |
3587 次 |
| 最近记录: |