#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();
}