首页 QT多线程接收程序

QT多线程接收程序

举报
开通vip

QT多线程接收程序#include"mythread.h" #include #include mythread::mythread(int socketDescriptor)     : QThread(), socketDescriptor(socketDescriptor)   {       TotalBytes = 0;     num =0;     fileNameSize=0;     bytesReceived = 0;     fliePathName = QDir::currentPath ();     ...

QT多线程接收程序
#include"mythread.h" #include #include mythread::mythread(int socketDescriptor)     : QThread(), socketDescriptor(socketDescriptor)   {       TotalBytes = 0;     num =0;     fileNameSize=0;     bytesReceived = 0;     fliePathName = QDir::currentPath ();     qDebug()<<"rightnow the save path:"<setSocketDescriptor(socketDescriptor)) {         emit error(tcpSocket->error());         return;     }       qDebug()<<"rightnow I am here 2 ! "<errorString()<close();     //QApplication::restoreOverrideCursor(); }                 void mythread::updateServerProgress() {     qDebug()<<"rightnow I am here 3 ! "<bytesAvailable()<bytesAvailable() >= sizeof(qint64)*2)&&(fileNameSize ==0)){           in>>TotalBytes>>fileNameSize>>sTime;         bytesReceived += sizeof(qint64)*2+sizeof(int);         qDebug()<<"TotalBytes"<bytesAvailable()<bytesAvailable() >= fileNameSize)&&(fileNameSize !=0)){       in>>fileName;         QHostAddress peerip =  tcpSocket->peerAddress();                 qDebug()<<"peerip"<open(QFile::WriteOnly |QIODevice::Append|QIODevice::Text)) {           qDebug()<<"cannot creat/open the file"<bytesAvailable();         qDebug()<<"bytesReceived:";    inBlock =  tcpSocket->readAll();         qDebug()<<"bytesReceived:";    localFile->write(inBlock);             inBlock.resize(0);             qDebug()<<"bytesReceived:";     }       qDebug()<<"bytesReceived:"<close();       //  localFile->rename(nameture);         localFile->close();         localFile=NULL;         TotalBytes = 0;         bytesReceived = 0;         fileNameSize= 0;     //    QApplication::restoreOverrideCursor();         qDebug()<<"finished one file!"< #include #include #include #include #include #include class mythread : public QThread {     Q_OBJECT public:     explicit  mythread(int socketDescriptor);     void run();     int changtimetosecond(int time);     int changesecondtotime(int second); signals:         void error(QTcpSocket::SocketError socketError); public slots:         void updateServerProgress();     void displayError(QAbstractSocket::SocketError socketError); private:     int socketDescriptor;     QTcpSocket *tcpSocket;       qint64  TotalBytes;         qint64  bytesReceived;         qint64  fileNameSize;         uint fileCount;//等待接受的文件数量         uint  fileTotalNumber;         QString fileName;       //  QString nameture;           QFile *localFile;       QByteArray inBlock;       int num;       QString  fliePathName;       int sTime; }; #endif #include #include #include #include "receiv.h" #include #include "mythread.h" Receiv::Receiv():QTcpServer()   {       startC();   } void Receiv::incomingConnection(int socketDescriptor)     {             qDebug()<<"socketDescriptor:"<start();     } void Receiv::startC() {   while (!this->isListening() && !this->listen(QHostAddress::Any,16689))     {           qDebug()<<"cannot listening the port..."< #include #include "receiv.h" #include int main(int argc, char *argv[]) {     QApplication app(argc, argv,false);     QTextCodec::setCodecForTr( QTextCodec::codecForName("gb2312"));     Receiv dialog;     return app.exec(); }
本文档为【QT多线程接收程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_471618
暂无简介~
格式:doc
大小:30KB
软件:Word
页数:7
分类:生活休闲
上传时间:2017-09-19
浏览量:29