91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 0.01M
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-13
  • 語言: 其他
  • 標簽: 其他??

資源簡介

TCPFileAns.zip

資源截圖

代碼片段和文件信息

#include?“clientwidget.h“
#include?“ui_clientwidget.h“
#include?
#include?
#include?

ClientWidget::ClientWidget(QWidget?*parent)?:
????QWidget(parent)
????ui(new?Ui::ClientWidget)
{
????ui->setupUi(this);

????tcpSocket?=?new?QTcpSocket(this);

????isStart?=?true;

????ui->progressBar->setValue(0);?//當前值

????setWindowtitle(“客戶端“);

????connect(tcpSocket?&QTcpSocket::connected
????[=]()
????{
????????//提示連接成功
????????ui->textEdit->clear();
????????ui->textEdit->append(“和服務器連接成功,等待服務器傳送文件……“);
????}
????);

????connect(tcpSocket?&QTcpSocket::readyRead
????[=]()
????{
????????//取出接收的內容
????????QByteArray?buf?=?tcpSocket->readAll();

????????if(true?==?isStart)
????????{//接收頭
????????????isStart?=?false;
????????????//解析頭部信息?QString?buf?=?“hello##1024“
????????????//????????????????????QString?str?=?“hello##1024#mike“;
????????????//????????????????????????????str.section(“##“?0?0)

????????????//初始化
????????????//文件名
????????????fileName?=?QString(buf).section(“##“?0?0);
????????????//文件大小
????????????fileSize?=?QString(buf).section(“##“?1?1).toInt();
????????????recvSize?=?0;???//已經接收文件大小

????????????//打開文件
????????????//關聯文件名字
????????????file.setFileName(fileName);

????????????//只寫方式方式,打開文件
????????????bool?isOk?=?file.open(QIODevice::WriteOnly);
????????????if(false?==?isOk)
????????????{
????????????????qDebug()?<
????????????????tcpSocket->disconnectFromHost();?//斷開連接
????????????????tcpSocket->close();?//關閉套接字

????????????????return;?//如果打開文件失敗,中斷函數
????????????}

????????????//彈出對話框,顯示接收文件的信息
????????????QString?str?=?QString(“接收的文件:?[%1:?%2kb]“).arg(fileName).arg(fileSize/1024);
????????????//QMessageBox::information(this?“文件信息“?str);
????????????ui->textEdit->append(str);
????????????ui->textEdit->append(“正在接收文件……“);

????????????//設置進度條
????????????ui->progressBar->setMinimum(0);?//最小值
????????????ui->progressBar->setMaximum(fileSize/1024);?//最大值
????????????ui->progressBar->setValue(0);?//當前值

????????}
????????else?//文件信息
????????{
????????????qint64?len?=?file.write(buf);
????????????if(len?>0)?//接收數據大于0
????????????{
????????????????recvSize?+=?len;?//累計接收大小
????????????????qDebug()?<????????????}

????????????//更新進度條
????????????ui->progressBar->setValue(recvSize/1024);

????????????if(recvSize?==?fileSize)?//文件接收完畢
????????????{

????????????????//先給服務發送(接收文件完成的信息)
????????????????tcpSocket->write(“file?done“);

????????????????ui->textEdit->append(“文件接收完成“);
????????????????QMessageBox::information(this?“完成“?“文件接收完成“);
????????????????file.close();?//關閉文件
????????????????//斷開連接
????????????????tcpSocket->disconnectFromHost();
????????????????tcpSocket->close();

????????????}
????????}

????????}

????);


}

ClientWidget::~ClientWidget()
{
????delete?ui;
}

void?ClientWidget::on_buttonConnect_clicked()
{
????//獲取服務器的ip和端口
????QS

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-10-11?14:24??06_TCPFileAns\
?????文件????????3721??2016-01-11?14:23??06_TCPFileAns\clientwidget.cpp
?????文件?????????668??2016-01-06?10:03??06_TCPFileAns\clientwidget.h
?????文件????????3428??2016-01-11?14:22??06_TCPFileAns\clientwidget.ui
?????文件?????????254??2016-01-05?17:18??06_TCPFileAns\main.cpp
?????文件????????4672??2016-01-06?10:21??06_TCPFileAns\serverwidget.cpp
?????文件?????????873??2016-01-05?17:00??06_TCPFileAns\serverwidget.h
?????文件????????2539??2016-01-11?14:24??06_TCPFileAns\serverwidget.ui
?????文件?????????482??2016-01-11?14:14??06_TCPFileAns\TCPFile.pro

評論

共有 條評論