From 4e122d5ad47594e4416b3c3aa758e2763ff8b939 Mon Sep 17 00:00:00 2001 From: kevin Date: Thu, 6 Jan 2022 00:50:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E8=BF=98=E6=98=AF=E4=BC=9A?= =?UTF-8?q?=E6=97=B6=E4=B8=8D=E6=97=B6=E6=9A=B4=E6=AF=99=EF=BC=8C=E8=BF=98?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ip_sacaner/ip_sacaner.pro.user | 8 +++++--- ip_sacaner/scan_run.cpp | 24 +++++++++++----------- ip_sacaner/scan_run.h | 12 ++++++----- ip_sacaner/widget.cpp | 11 ++++++---- ip_sacaner/widget.h | 1 + ip_sacaner/widget.ui | 37 ++++++++++++++++++++++------------ 6 files changed, 56 insertions(+), 37 deletions(-) diff --git a/ip_sacaner/ip_sacaner.pro.user b/ip_sacaner/ip_sacaner.pro.user index 3abe385..4cfd186 100644 --- a/ip_sacaner/ip_sacaner.pro.user +++ b/ip_sacaner/ip_sacaner.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -240,12 +240,14 @@ 2 - ProjectExplorer.CustomExecutableRunConfiguration - + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/wuwen/Desktop/tcp_ip_scan/ip_sacaner/ip_sacaner.pro + C:/Users/wuwen/Desktop/tcp_ip_scan/ip_sacaner/ip_sacaner.pro false true + true false true + C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Debug 1 diff --git a/ip_sacaner/scan_run.cpp b/ip_sacaner/scan_run.cpp index 57c7750..be12005 100644 --- a/ip_sacaner/scan_run.cpp +++ b/ip_sacaner/scan_run.cpp @@ -30,7 +30,6 @@ void trytry::run() { //qDebug() << ipstr<<":"<< ipint; - QTcpSocket m_socket; m_socket.connectToHost(ipstr, ipint, QTcpSocket::ReadWrite); if (m_socket.waitForConnected(timeout)) @@ -39,22 +38,20 @@ void trytry::run() *outputbusy=1; QString temp = QString("%1:%2").arg(ipstr).arg(ipint); output_list->append(temp); + //msleep(1); *outputbusy=0; } m_socket.disconnectFromHost(); m_socket.disconnect(); - //msleep(timeout);//test - - + //qDebug()<<*nt_bar<<"/"<<*t_bar; + while(*barbusy); + *barbusy=1; *now_thread_num-=1; - *nt_bar+=1; - //((*nt_bar)/(*t_bar))*100 - //the_bar->setValue(((0.0+*nt_bar)/(*t_bar))*100); - //qDebug()<<((0.0+*nt_bar)/(0.0+*t_bar))*100<<"%"; - //the_bar->setValue(10); - qDebug()<<*nt_bar<<"/"<<*t_bar; + //str.asprintf("停止 %.3f",((0.0+*nt_bar)/(0.0+*t_bar))*100); + bt->setText(QString("%1%").arg(((0.0+*nt_bar)/(0.0+*t_bar))*100)); + *barbusy=0; } dispatch::dispatch() @@ -80,7 +77,7 @@ void dispatch::tray(const QString& ipstr, quint32 ipint) try_telnet->ipint = ipint; try_telnet->timeout = timeout; try_telnet->output_list = output_list; - + try_telnet->bt=bt; try_telnet->now_thread_num = &now_thread_num; @@ -88,8 +85,9 @@ void dispatch::tray(const QString& ipstr, quint32 ipint) try_telnet->nt_bar=&nt_bar; try_telnet->outputbusy=&outputbusy; + try_telnet->barbusy=&barbusy; + - try_telnet->the_bar=the_bar; //try_telnet->moveToThread(main_thread); try_telnet->start(); @@ -101,6 +99,8 @@ void dispatch::tray(const QString& ipstr, quint32 ipint) void dispatch::run() { + + //qDebug()<< ui->IP_list->toPlainText(); //the_bar->setValue(20); diff --git a/ip_sacaner/scan_run.h b/ip_sacaner/scan_run.h index 27f9145..1eeceb5 100644 --- a/ip_sacaner/scan_run.h +++ b/ip_sacaner/scan_run.h @@ -2,12 +2,13 @@ #define SCAN_RUN_H #include -#include "widget.h" #include "ui_widget.h" #include #include #include #include //socket +#include + @@ -16,16 +17,16 @@ class trytry : public QThread public: quint16 *outputbusy; - + quint16 *barbusy; quint16 timeout; QString ipstr; quint32 ipint; int *now_thread_num; QTextEdit* output_list; - + QLabel *bt; quint64 *t_bar; quint64 *nt_bar; - QProgressBar* the_bar; + void run(); @@ -44,11 +45,12 @@ public: quint64 t_bar=0; quint64 nt_bar=0; quint16 outputbusy=0; + quint16 barbusy=0; //QThread* main_thread; QTextEdit* ip_list; QTextEdit* port_list; QTextEdit* output_list; - QProgressBar* the_bar; + QLabel *bt; trytry* try_telnet; void tray(const QString& ipstr, quint32 ipint); diff --git a/ip_sacaner/widget.cpp b/ip_sacaner/widget.cpp index 8934db8..6e76941 100644 --- a/ip_sacaner/widget.cpp +++ b/ip_sacaner/widget.cpp @@ -42,20 +42,22 @@ Widget::Widget(QWidget *parent) ui->stard_scan->setText("停止"); - dispatch* dispatch_thread; + //dispatch* dispatch_thread; dispatch_thread = new dispatch; dispatch_thread->ip_list = ui->IP_list; dispatch_thread->port_list = ui->port_list; dispatch_thread->output_list = ui->outputlist; + dispatch_thread->bt=ui->type_bar; + dispatch_thread->set_thread_num = ui->threads->value(); dispatch_thread->now_thread_num = 0; dispatch_thread->timeout = ui->timeout->value(); - dispatch_thread->the_bar=ui->type_bar; + //dispatch_thread->main_thread = main_thread; //dispatch_thread->moveToThread(main_thread); dispatch_thread->start(); - connect(dispatch_thread, &dispatch::dispatch_finish, [=]() + connect(dispatch_thread, &dispatch::finished, [=]() { ui->IP_list->setReadOnly(false); ui->port_list->setReadOnly(false); @@ -69,7 +71,8 @@ Widget::Widget(QWidget *parent) }); }else { - //dispatch_thread->exit(); + qDebug() << "tray_exit"; + dispatch_thread->terminate(); } diff --git a/ip_sacaner/widget.h b/ip_sacaner/widget.h index 71c7cf2..a47d89f 100644 --- a/ip_sacaner/widget.h +++ b/ip_sacaner/widget.h @@ -21,6 +21,7 @@ public: Widget(QWidget *parent = nullptr); ~Widget(); + dispatch *dispatch_thread; void auto_edit(); diff --git a/ip_sacaner/widget.ui b/ip_sacaner/widget.ui index 215c4f6..bb558f0 100644 --- a/ip_sacaner/widget.ui +++ b/ip_sacaner/widget.ui @@ -28,9 +28,9 @@ - 500 + 490 100 - 91 + 101 111 @@ -56,10 +56,21 @@ 420 220 - 171 + 71 41 + + + 0 + 0 + + + + + PreferDefault + + 开始扫描 @@ -152,13 +163,13 @@ domain.com 10 - 300 + 270 581 - 191 + 221 - true + false @@ -193,17 +204,17 @@ domain.com 100 - + - 10 - 270 - 581 - 23 + 500 + 240 + 53 + 16 - - 0 + + 0%