我正在开发一个能够与远程服务器通信的C ++应用程序,我想使用MQTT,因为它可靠且易于实现。我还需要进行文件传输,我想知道是否可以使用MQTT做到这一点。
如果是,是否可以获取下载进度状态和下载速度?
我在Google上进行了搜索,但似乎没有可能。
谢谢你
答案 0 :(得分:0)
MQTT是一个消息传递系统,您可以在消息中包含所有想要的内容。
MQTT消息有效负载只是字节的集合,使用这些字节发送文件是微不足道的(假设文件的大小小于256mb,因为这是单个消息的最大大小)
如果要发送较大的文件,则必须实施一种将其分解为较小部分的方案,其中可能包括文件名,部分数,当前零件号,文件总大小。
有了这些信息,您就可以确定传输速率,但是考虑到第一个信息,您会发现适合单个消息的文件就是整个消息到达客户的内存中,这不会使计算速度变得困难。如果您确实需要,那么最好的选择就是将文件分成更小的部分。