后面附带实例的下载地址
一、将文件看做是由:文件头+文件内容组成,其中文件头包含文件的一些信息:文件名称、文件大小等。
二、文件头单独发送,文件内容切块发送。
三、每次发送信息格式:发送内容大小、发送内容类型(文件头或是文件块内容)、文件块内容。
四、效果展示:
五、主要代码块:
发送端:
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