修正一个线程分发BUG,线程在stard()后并不会立即启动,导致线程统计延迟无法正确限制线程数量。
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
|
||||
QMAKE_CXX.QMAKE_MSC_VER = 1930
|
||||
QMAKE_CXX.QMAKE_MSC_FULL_VER = 193030706
|
||||
QMAKE_CXX.COMPILER_MACROS = \
|
||||
QT_COMPILER_STDCXX \
|
||||
QMAKE_MSC_VER \
|
||||
QMAKE_MSC_FULL_VER
|
||||
QMAKE_CXX.INCDIRS = \
|
||||
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.30.30705\\ATLMFC\\include" \
|
||||
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.30.30705\\include" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\ucrt" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.19041.0\\\\shared" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.19041.0\\\\um" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.19041.0\\\\winrt" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.19041.0\\\\cppwinrt"
|
||||
QMAKE_CXX.LIBDIRS = \
|
||||
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.30.30705\\ATLMFC\\lib\\x64" \
|
||||
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.30.30705\\lib\\x64" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\ucrt\\x64" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\\\lib\\10.0.19041.0\\\\um\\x64"
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 6.0.1, 2022-01-05T20:42:08. -->
|
||||
<!-- Written by QtCreator 6.0.1, 2022-01-05T20:45:49. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
@@ -91,16 +91,16 @@
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 6.2.2 MSVC2019 64bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 6.2.2 MSVC2019 64bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt6.622.win64_msvc2019_64_kit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 6.2.2 MinGW 64-bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 6.2.2 MinGW 64-bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt6.622.win64_mingw_kit</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\wuwen\Desktop\tcp_ip_scan\build-ip_sacaner-Desktop_Qt_6_2_2_MSVC2019_64bit-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MSVC2019_64bit-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\wuwen\Desktop\tcp_ip_scan\build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
@@ -138,8 +138,8 @@
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\wuwen\Desktop\tcp_ip_scan\build-ip_sacaner-Desktop_Qt_6_2_2_MSVC2019_64bit-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MSVC2019_64bit-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\wuwen\Desktop\tcp_ip_scan\build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
@@ -179,8 +179,8 @@
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\wuwen\Desktop\tcp_ip_scan\build-ip_sacaner-Desktop_Qt_6_2_2_MSVC2019_64bit-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MSVC2019_64bit-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\wuwen\Desktop\tcp_ip_scan\build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
|
||||
+15
-4
@@ -28,8 +28,8 @@ quint32 ipv4str_to_int(const QString& ipstr)
|
||||
|
||||
void trytry::run()
|
||||
{
|
||||
qDebug() << ipstr<<":"<< ipint;
|
||||
*now_thread_num+=1;
|
||||
//qDebug() << ipstr<<":"<< ipint;
|
||||
|
||||
|
||||
QTcpSocket m_socket;
|
||||
m_socket.connectToHost(ipstr, ipint, QTcpSocket::ReadWrite);
|
||||
@@ -43,6 +43,10 @@ void trytry::run()
|
||||
}
|
||||
m_socket.disconnectFromHost();
|
||||
m_socket.disconnect();
|
||||
|
||||
//msleep(timeout);//test
|
||||
|
||||
|
||||
*now_thread_num-=1;
|
||||
|
||||
*nt_bar+=1;
|
||||
@@ -64,14 +68,20 @@ void dispatch::tray(const QString& ipstr, quint32 ipint)
|
||||
|
||||
if (ipint != 0 && ipstr != "")
|
||||
{
|
||||
//qDebug()<<"thread "<<now_thread_num<<":"<<set_thread_num;
|
||||
while (now_thread_num> set_thread_num);
|
||||
|
||||
//qDebug()<<"thread "<<now_thread_num<<":"<<set_thread_num;
|
||||
while (now_thread_num> set_thread_num)
|
||||
{
|
||||
//qDebug()<<"while "<<now_thread_num<<":"<<set_thread_num;
|
||||
}
|
||||
|
||||
try_telnet=new trytry;
|
||||
try_telnet->ipstr = ipstr;
|
||||
try_telnet->ipint = ipint;
|
||||
try_telnet->timeout = timeout;
|
||||
try_telnet->output_list = output_list;
|
||||
|
||||
|
||||
try_telnet->now_thread_num = &now_thread_num;
|
||||
|
||||
try_telnet->t_bar=&t_bar;
|
||||
@@ -84,6 +94,7 @@ void dispatch::tray(const QString& ipstr, quint32 ipint)
|
||||
//try_telnet->moveToThread(main_thread);
|
||||
try_telnet->start();
|
||||
|
||||
now_thread_num+=1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
quint16 timeout;
|
||||
QString ipstr;
|
||||
quint32 ipint;
|
||||
quint16 *now_thread_num;
|
||||
int *now_thread_num;
|
||||
QTextEdit* output_list;
|
||||
|
||||
quint64 *t_bar;
|
||||
@@ -38,8 +38,8 @@ public:
|
||||
|
||||
dispatch();
|
||||
|
||||
quint16 set_thread_num;
|
||||
quint16 now_thread_num;
|
||||
int set_thread_num;
|
||||
int now_thread_num;
|
||||
quint16 timeout;
|
||||
quint64 t_bar=0;
|
||||
quint64 nt_bar=0;
|
||||
|
||||
@@ -57,6 +57,12 @@ Widget::Widget(QWidget *parent)
|
||||
dispatch_thread->start();
|
||||
connect(dispatch_thread, &dispatch::dispatch_finish, [=]()
|
||||
{
|
||||
ui->IP_list->setReadOnly(false);
|
||||
ui->port_list->setReadOnly(false);
|
||||
ui->timeout->setReadOnly(false);
|
||||
ui->threads->setReadOnly(false);
|
||||
ui->stard_scan->setText("开始扫描");
|
||||
scan_flag=0;
|
||||
qDebug() << "dispatch_finish";
|
||||
disconnect(dispatch_thread);
|
||||
//delete dispatch_thread;
|
||||
@@ -64,12 +70,7 @@ Widget::Widget(QWidget *parent)
|
||||
}else
|
||||
{
|
||||
//dispatch_thread->exit();
|
||||
ui->IP_list->setReadOnly(false);
|
||||
ui->port_list->setReadOnly(false);
|
||||
ui->timeout->setReadOnly(false);
|
||||
ui->threads->setReadOnly(false);
|
||||
ui->stard_scan->setText("开始扫描");
|
||||
scan_flag=0;
|
||||
|
||||
}
|
||||
|
||||
});//'scan button pass'
|
||||
|
||||
Reference in New Issue
Block a user