From 6ff281c4fa248192744a429ea093d42ecc946574 Mon Sep 17 00:00:00 2001 From: Msy-msu <2200456405@qq.com> Date: Sat, 14 Jan 2023 14:52:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86html=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=BC=82=E5=B8=B8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TcpClient.pro.user | 218 ++++++++++----------------------------------- datamanager.cpp | 2 +- login.cpp | 1 + mainwidget.cpp | 21 +++-- mainwidget.h | 1 + tcpclient.cpp | 4 +- tcpclient.h | 4 +- 7 files changed, 69 insertions(+), 182 deletions(-) diff --git a/TcpClient.pro.user b/TcpClient.pro.user index 7b546b6..066b750 100644 --- a/TcpClient.pro.user +++ b/TcpClient.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -91,96 +91,16 @@ ProjectExplorer.Project.Target.0 Desktop - Desktop Qt 6.2.3 MSVC2019 64bit - Desktop Qt 6.2.3 MSVC2019 64bit - qt.qt6.623.win64_msvc2019_64_kit - 0 + Desktop Qt 6.2.3 MinGW 64-bit + Desktop Qt 6.2.3 MinGW 64-bit + qt.qt6.623.win64_mingw_kit + 2 0 0 0 - C:\Users\25761\Desktop\build-TcpClient-Desktop_Qt_6_2_3_MSVC2019_64bit-Debug - C:/Users/25761/Desktop/build-TcpClient-Desktop_Qt_6_2_3_MSVC2019_64bit-Debug - - - true - QtProjectManager.QMakeBuildStep - false - - - - true - Qt4ProjectManager.MakeStep - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - clean - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - - - C:\Users\25761\Desktop\build-TcpClient-Desktop_Qt_6_2_3_MSVC2019_64bit-Release - C:/Users/25761/Desktop/build-TcpClient-Desktop_Qt_6_2_3_MSVC2019_64bit-Release - - - true - QtProjectManager.QMakeBuildStep - false - - - - true - Qt4ProjectManager.MakeStep - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - clean - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - - - 0 - C:\Users\25761\Desktop\build-TcpClient-Desktop_Qt_6_2_3_MSVC2019_64bit-Profile - C:/Users/25761/Desktop/build-TcpClient-Desktop_Qt_6_2_3_MSVC2019_64bit-Profile + C:\Users\25761\Desktop\Error-in-"-Util.asciify("build-C:\Users\25761\Desktop\tcpclient\TcpClient-Desktop_Qt_6_2_3_MinGW_64_bit-Profile")":-SyntaxError:-Expected-token-`)' + C:/Users/25761/Desktop/Error-in-"-Util.asciify("build-C:/Users/25761/Desktop/tcpclient/TcpClient-Desktop_Qt_6_2_3_MinGW_64_bit-Profile")":-SyntaxError:-Expected-token-`)' true @@ -219,50 +139,47 @@ 0 0 - 3 - + + C:\Users\25761\Desktop\Error-in-"-Util.asciify("build-C:\Users\25761\Desktop\tcpclient\TcpClient-Desktop_Qt_6_2_3_MinGW_64_bit-111")":-SyntaxError:-Expected-token-`)' + C:/Users/25761/Desktop/Error-in-"-Util.asciify("build-C:/Users/25761/Desktop/tcpclient/TcpClient-Desktop_Qt_6_2_3_MinGW_64_bit-111")":-SyntaxError:-Expected-token-`)' - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build - 1 - - false - ProjectExplorer.DefaultDeployConfiguration + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + 111 + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 - 1 - - true - true - true - - 2 - - Qt4ProjectManager.Qt4RunConfiguration:C:/Users/25761/Desktop/tcpclient/TcpClient.pro - C:/Users/25761/Desktop/tcpclient/TcpClient.pro - false - true - true - false - true - C:/Users/25761/Desktop/build-TcpClient-Desktop_Qt_6_2_3_MSVC2019_64bit-Debug - - 1 - - - - ProjectExplorer.Project.Target.1 - - Desktop - Desktop Qt 6.2.3 MinGW 64-bit - Desktop Qt 6.2.3 MinGW 64-bit - qt.qt6.623.win64_mingw_kit - 1 - 0 - 0 - + C:\Users\25761\Desktop\build-TcpClient-Desktop_Qt_6_2_3_MinGW_64_bit-111 C:/Users/25761/Desktop/build-TcpClient-Desktop_Qt_6_2_3_MinGW_64_bit-111 @@ -302,47 +219,7 @@ 0 0 - - 0 - C:\Users\25761\Desktop\build-TcpClient-Desktop_Qt_6_2_3_MinGW_64_bit-111 - C:/Users/25761/Desktop/build-TcpClient-Desktop_Qt_6_2_3_MinGW_64_bit-111 - - - true - QtProjectManager.QMakeBuildStep - false - - - - true - Qt4ProjectManager.MakeStep - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - clean - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - false - - 111 - Qt4ProjectManager.Qt4BuildConfiguration - 2 - - 2 + 3 0 @@ -370,13 +247,14 @@ true false true + C:/Users/25761/Desktop/build-TcpClient-Desktop_Qt_6_2_3_MinGW_64_bit-111 1 ProjectExplorer.Project.TargetCount - 2 + 1 ProjectExplorer.Project.Updater.FileVersion diff --git a/datamanager.cpp b/datamanager.cpp index 44d65fa..487d1b0 100644 --- a/datamanager.cpp +++ b/datamanager.cpp @@ -8,7 +8,7 @@ DataManager::DataManager(QObject *parent) connect(tcpclient, &TCPClient::TCPClientConnected, this, &DataManager::TCPClientConnected); connect(tcpclient, &TCPClient::TCPClientDisconnected, this, &DataManager::TCPClientDisconnected); connect(tcpclient, &TCPClient::recv_data, this, &DataManager::recv_from_server); - //tcpclient->setServer("192.168.126.129",7890); + tcpclient->setServer("ourdocs.cn",35137); tcpclient->configAndrun(); // tcpclient->setCallBack(recv_from_server); protocol = Protocol::getInstance(); diff --git a/login.cpp b/login.cpp index 46511b2..cc431a1 100644 --- a/login.cpp +++ b/login.cpp @@ -176,6 +176,7 @@ void Login::signin_response(bool result) connect(datamanager,&DataManager::update_file,mainwidget,&MainWidget::update_file); connect(datamanager,&DataManager::update_file_private,mainwidget,&MainWidget::update_file_private); connect(datamanager,&DataManager::update_users,mainwidget,&MainWidget::update_users); + connect(datamanager,&DataManager::disconnect_from_server,mainwidget,&MainWidget::disconnect_form_server); connect(mainwidget,&MainWidget::exit_client,this,&Login::exit_client); this->hide(); mainwidget->show(); diff --git a/mainwidget.cpp b/mainwidget.cpp index e308d59..01ceb37 100644 --- a/mainwidget.cpp +++ b/mainwidget.cpp @@ -78,7 +78,7 @@ void MainWidget::on_send_text_clicked() QString currentTime = QTime::currentTime().toString("H:mm A"); QString html = "" + filename + ""; qDebug() << html; - ui->textEdit->append("" + username + " [" + currentTime + "] send a file \"" + html + "\""); + ui->textEdit->append("" + username + " [" + currentTime + "] send a file \"" + html + "\""); this->sendFile(filePath,filename); } else //私发文件 @@ -108,7 +108,7 @@ void MainWidget::on_send_text_clicked() QString currentTime = QTime::currentTime().toString("H:mm A"); QString html = "" + filename + ""; qDebug() << html; - ui->textEdit->append("" + username + " [" + currentTime + "] send " + name + " a private file \"" + html + "\""); + ui->textEdit->append("" + username + " [" + currentTime + "] send " + name + " a private file \"" + html + "\""); this->sendFile(filePath,filename,name); } } @@ -207,14 +207,14 @@ void MainWidget::on_send_btn_clicked() else { QString currentTime = QTime::currentTime().toString("H:m A"); - ui->textEdit->append("" + username + " [" + currentTime + "] " + text_self + ""); + ui->textEdit->append("" + username + " [" + currentTime + "] " + text_self + ""); emit send_to_user(username,to_user,data_text); } } else { QString currentTime = QTime::currentTime().toString("H:m A"); - ui->textEdit->append("" + username + " [" + currentTime + "] : " + text + ""); + ui->textEdit->append("" + username + " [" + currentTime + "] : " + text + ""); emit send_text(username,text); } } @@ -272,7 +272,8 @@ void MainWidget::on_stop_clicked() void MainWidget::update_text(QString sendname,QString data) { QString currentTime = QTime::currentTime().toString("H:m A"); - ui->textEdit->append(sendname + " [" + currentTime + "] : " + data); + ui->textEdit->append("" + sendname + " [" + currentTime + "] : " + data + ""); + qDebug() << sendname + " [" + currentTime + "] : " + data; } void MainWidget::update_file(QString sendname,QString filename,QString file_data) @@ -280,8 +281,9 @@ void MainWidget::update_file(QString sendname,QString filename,QString file_data readFile(filename,QByteArray::fromHex(file_data.toUtf8())); QString currentTime = QTime::currentTime().toString("H:m A"); QString html = "" + filename + ""; - QString msg = username + " [" + currentTime + "] : " + QString("收到了一个来自%1的群发文件:").arg(sendname) + html; + QString msg = "" + username + " [" + currentTime + "] : " + QString("收到了一个来自%1的群发文件:").arg(sendname) + html + ""; ui->textEdit->append(msg); + qDebug() << msg; } void MainWidget::update_file_private(QString sendname,QString filename,QString file_data) @@ -289,8 +291,9 @@ void MainWidget::update_file_private(QString sendname,QString filename,QString f readFile(filename,QByteArray::fromHex(file_data.toUtf8())); QString currentTime = QTime::currentTime().toString("H:m A"); QString html = "" + filename + ""; - QString msg = username + " [" + currentTime + "] : " + QString("收到了一个来自%1的私发文件:").arg(sendname) + html; + QString msg = "" + username + " [" + currentTime + "] : " + QString("收到了一个来自%1的私发文件:").arg(sendname) + html + ""; ui->textEdit->append(msg); + qDebug() << msg; } /* void MainWidget::update_file(QString sendname,QString filename,QString file_data) @@ -344,6 +347,10 @@ void MainWidget::update_users(int count,QListonline_users) } +void MainWidget::disconnect_form_server() +{ + QMessageBox::critical(this,"连接超时","请检查您的网络连接!"); +} void MainWidget::sendFile(QString filePath,QString filename,QString name) { //发送的数据存入block中 diff --git a/mainwidget.h b/mainwidget.h index e76fbc5..efa1325 100644 --- a/mainwidget.h +++ b/mainwidget.h @@ -53,6 +53,7 @@ public slots: void update_file(QString sendname,QString filename,QString file_data); void update_file_private(QString sendname,QString filename,QString file_data); void update_users(int count,QListonline_users); + void disconnect_form_server(); private: Ui::MainWidget *ui; diff --git a/tcpclient.cpp b/tcpclient.cpp index c017bb6..8c9ab48 100644 --- a/tcpclient.cpp +++ b/tcpclient.cpp @@ -42,7 +42,7 @@ void TCPClient::sendToserver(QByteArray &data) } } -void TCPClient::setServer(QString IP, qint16 port) +void TCPClient::setServer(QString IP, quint16 port) { server_ip = IP; server_port = port; @@ -70,7 +70,7 @@ void TCPClient::readSocket() while(socket.bytesAvailable())//循环接收 { recv += socket.readAll(); - if (!socket.waitForReadyRead(20))//超时停止接收 + if (!socket.waitForReadyRead(500))//超时停止接收 { /*QString error = sock->errorString(); string error_t = error.toStdString(); diff --git a/tcpclient.h b/tcpclient.h index 1cef511..42aa6ca 100644 --- a/tcpclient.h +++ b/tcpclient.h @@ -13,7 +13,7 @@ public: static void sendToserver(QByteArray &data); void configAndrun(); void setCallBack(void (*callback)(QString &ip, quint16 port,QByteArray &data)); - void setServer(QString IP, qint16 port); + void setServer(QString IP, quint16 port); private slots: void readSocket(); void connected(); @@ -25,7 +25,7 @@ private: static QTcpSocket socket; static TCPClient tcpclient_instance; QString server_ip = "127.0.0.1"; - qint16 server_port = 7890; + quint16 server_port = 7890; bool has_found = false; void (*_callback) (QString &ip, quint16 port,QByteArray &data)=nullptr; signals: