使用 MQTT 传输文件

Ave*_*ger 4 c++ file-transfer mqtt

我正在开发一个能够与远程服务器通信的 C++ 应用程序,我想使用 MQTT,因为它可靠且易于实现。我还需要进行文件传输,我想知道是否可以使用 MQTT 来完成此操作。

如果可以的话,是否可以获取下载进度状态和下载速度?

我在谷歌上搜索了一下,似乎是可能的,但我没有得到非常明确的答案。

我谢谢你

har*_*llb 6

MQTT 是一个消息系统,您可以在消息中包含您想要的任何内容。

MQTT 消息有效负载只是字节的集合,使用它们发送文件很简单(假设文件大小小于 256mb,因为这是单个消息的最大大小)

如果您想发送较大的文件,那么您必须实施一种方案将其分成较小的部分,这可能包括文件名、部分数量、当前部分编号、总文件大小等内容。

有了这些信息,您就可以确定传输速率,但是考虑到您首先看到的适合单个消息的文件将是到达客户端内存的整个消息,因此计算速度不会变得困难。如果您确实需要,那么最好的选择是将文件分成更小的部分。