c++ - 使用 MQTT 进行文件传输

标签 c++ mqtt file-transfer

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

如果可以,能否获取下载进度和下载速度?

我在 Google 上搜索过,这似乎是可能的,但我没有得到非常明确的答案。

谢谢你

最佳答案

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

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

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

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

关于c++ - 使用 MQTT 进行文件传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55811102/

相关文章:

android - 如何在音频过程中使用超强时间拉伸(stretch)类(class)

c++ - 如何检查Qwidget是否存在

c++ - 在回调中更新数据

node.js - 无法使用 Node.js mqtt 库连接到 Eclipse Mosquitto 代理

javascript - 在 React-Native Expo 上接收 MQTT 消息

.net - TCP 慢启动算法是许多单个文件传输缓慢的原因吗?

c++ - 能否从 DLL 中动态调用对象?

linux - 如何从 Linux 向 Linux 机器发送数据或文件?

perl - 使用 Net::OpenSSH 将文件从远程计算机传输到本地计算机

android - 为什么MQTT客户端无法重连?