QT 自定义协议TCP传输文件

news/2024/7/3 1:42:37

后面附带实例的下载地址

一、将文件看做是由:文件头+文件内容组成,其中文件头包含文件的一些信息:文件名称、文件大小等。

二、文件头单独发送,文件内容切块发送。

三、每次发送信息格式:发送内容大小、发送内容类型(文件头或是文件块内容)、文件块内容。

四、效果展示:

五、主要代码块:

发送端:

void zzcClient::sendHeader()
{
    QString fName = QDir(mFile->fileName()).dirName();
    QJsonObject obj( QJsonObject::fromVariantMap({
                                                     {"name", fName},
                                                     {"size", mFileSize}
                                                 }));

    QByteArray headerData( QJsonDocument(obj).toJson() );

    writePacket(headerData.size(), PacketType::Header, headerData);
}

void zzcClient::sendData()
{
    if (!mBytesRemaining)
        retu

http://lihuaxi.xjx100.cn/news/2173554.html

相关文章

uniapp - 文章模块页面

在上一篇文章中,创建了一个空白的文章模块页面。在这一篇文章,让我们来向页面中填充内容。 目录 页面效果涉及uniapp组件1.view2.swiper3.scroll-view4.属性解读1) class"style1 style2 .."2) circular单属性无赋值3) :autoplay"autoplay…

抖店怎么选品?抖店爆款选品思路技巧,新手直接用!

大家好,我是电商花花。 抖店选品永远是我们做抖店,做电商的核心,店铺想要出单,想要赚钱,我们就一定要学会怎么选品,怎么筛选商品。 而我们绝大多数新手并没有办法保证持续选爆款的能力,如果店…

VsCode创建Python虚拟环境

不同的项目,大多使用不同的版本与包,为每个项目创建不同的环境,可以防止版本等的不同而带来的影响。 Python自3.3版本之后,官方自带了用于创建虚拟环境的venv模块,以下将介绍venv模块在Python虚拟环境的用法。 1.安装相…

Ajax都有哪些优点和缺点?

AJAX(Asynchronous JavaScript and XML)是一种使用多项技术的Web开发技术,它允许通过异步请求与服务器交换数据,而无需刷新整个页面。这种技术可以显著提高Web应用程序的性能和用户体验。以下是AJAX的主要优点和缺点: …

Java如何将tif格式图片转为jpg格式图片

在Java中,将TIFF(.tif)格式的图片转换为JPEG(.jpg)格式的图片,通常需要使用图像处理库,如Apache Commons Imaging(之前称为Sanselan)或Java Advanced Imaging (JAI)。但是…

【C++】牛客——BC157 素数回文

✨题目链接: BC157 素数回文 ✨题目描述 现在给出一个素数,这个素数满足两点: 只由1-9组成,并且每个数只出现一次,如13,23,1289。 位数从高到低为递减或递增,如2459,87631。 请你判断一下&…

香橙派 AIpro的NPU随手记体验日记

昇腾AI 技术路线 8TOPS INT8(FP16)AI算力 LPDDR4X 8GB/16GB 📅 20240525 开放了原理图和源码,功能接口就不描述了手册都有描述,新手好好学习可以从底层覆盖到应用一个载板拿下 完成香橙派AIpro上手体验 镜像安装&am…

Android刮刮卡自定义控件

效果图 刮刮卡自定义控件 import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.graphics.PorterDuff; import …