|
|
@ -96,11 +96,11 @@ void deviceStateDlg::initWindow() {
|
|
|
|
|
|
|
|
|
|
|
|
void deviceStateDlg::initParam() {
|
|
|
|
void deviceStateDlg::initParam() {
|
|
|
|
// 172.10.1.183 -n 2 -w 500"
|
|
|
|
// 172.10.1.183 -n 2 -w 500"
|
|
|
|
cmdlist[0] << "/c" << "ping" << "172.10.1.183";
|
|
|
|
cmdlist[0] << "/c" << "ping" << "172.10.1.183 -n 2";
|
|
|
|
cmdlist[1] << "/c" << "ping" << "172.10.1.183";
|
|
|
|
cmdlist[1] << "/c" << "ping" << "172.10.1.183 -n 2";
|
|
|
|
cmdlist[2] << "/c" << "ping" << "www.baidu.com";
|
|
|
|
cmdlist[2] << "/c" << "ping" << "www.baidu.com -n 2";
|
|
|
|
cmdlist[3] << "/c" << "ping" << "www.baidu.com";
|
|
|
|
cmdlist[3] << "/c" << "ping" << "www.baidu.com -n 2";
|
|
|
|
cmdlist[4] << "/c" << "ping" << "www.baidu.com";
|
|
|
|
cmdlist[4] << "/c" << "ping" << "www.baidu.com -n 2";
|
|
|
|
startNetDetn();
|
|
|
|
startNetDetn();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -158,32 +158,37 @@ void deviceStateDlg::setDeviceIP(int id, settingStruct param) {
|
|
|
|
switch (id) {
|
|
|
|
switch (id) {
|
|
|
|
case HomePageSetingWidget::GDDC:
|
|
|
|
case HomePageSetingWidget::GDDC:
|
|
|
|
strIp = stringIPSelect(param.net.remoteIp);
|
|
|
|
strIp = stringIPSelect(param.net.remoteIp);
|
|
|
|
|
|
|
|
strIp="/c ping " + strIp + " -n 1";
|
|
|
|
cmdlist[0].clear();
|
|
|
|
cmdlist[0].clear();
|
|
|
|
cmdlist[0] << "/c" << "ping" << strIp;
|
|
|
|
cmdlist[0] << strIp;
|
|
|
|
m_networkDetection[0]->DyChangeCmdList(cmdlist[0]); // 更新到网络检测线程
|
|
|
|
m_networkDetection[0]->DyChangeCmdList(cmdlist[0]); // 更新到网络检测线程
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case HomePageSetingWidget::L_Link:
|
|
|
|
case HomePageSetingWidget::L_Link:
|
|
|
|
strIp = stringIPSelect(param.url);
|
|
|
|
strIp = stringIPSelect(param.url);
|
|
|
|
|
|
|
|
strIp="/c ping " + strIp + " -n 1";
|
|
|
|
cmdlist[1].clear();
|
|
|
|
cmdlist[1].clear();
|
|
|
|
cmdlist[1] << "/c" << "ping" << strIp;
|
|
|
|
cmdlist[1] << strIp;
|
|
|
|
m_networkDetection[1]->DyChangeCmdList(cmdlist[1]); // 更新到网络检测线程
|
|
|
|
m_networkDetection[1]->DyChangeCmdList(cmdlist[1]); // 更新到网络检测线程
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case HomePageSetingWidget::Adhoc_Network:
|
|
|
|
case HomePageSetingWidget::Adhoc_Network:
|
|
|
|
strIp = stringIPSelect(param.url);
|
|
|
|
strIp = stringIPSelect(param.url);
|
|
|
|
|
|
|
|
strIp="/c ping " + strIp + " -n 1";
|
|
|
|
cmdlist[2].clear();
|
|
|
|
cmdlist[2].clear();
|
|
|
|
cmdlist[2] << "/c" << "ping" << strIp;
|
|
|
|
cmdlist[2] << strIp;
|
|
|
|
m_networkDetection[2]->DyChangeCmdList(cmdlist[2]); // 更新到网络检测线程
|
|
|
|
m_networkDetection[2]->DyChangeCmdList(cmdlist[2]); // 更新到网络检测线程
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case HomePageSetingWidget::Satelite_Comm:
|
|
|
|
case HomePageSetingWidget::Satelite_Comm:
|
|
|
|
strIp = stringIPSelect(param.url);
|
|
|
|
strIp = stringIPSelect(param.url);
|
|
|
|
|
|
|
|
strIp="/c ping " + strIp + " -n 1";
|
|
|
|
cmdlist[3].clear();
|
|
|
|
cmdlist[3].clear();
|
|
|
|
cmdlist[3] << "/c" << "ping" << strIp;
|
|
|
|
cmdlist[3] << strIp;
|
|
|
|
m_networkDetection[3]->DyChangeCmdList(cmdlist[3]); // 更新到网络检测线程
|
|
|
|
m_networkDetection[3]->DyChangeCmdList(cmdlist[3]); // 更新到网络检测线程
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case HomePageSetingWidget::ModelCamera:
|
|
|
|
case HomePageSetingWidget::ModelCamera:
|
|
|
|
strIp = stringIPSelect(param.net.remoteIp);
|
|
|
|
strIp = stringIPSelect(param.net.remoteIp);
|
|
|
|
|
|
|
|
strIp="/c ping " + strIp + " -n 1";
|
|
|
|
cmdlist[4].clear();
|
|
|
|
cmdlist[4].clear();
|
|
|
|
cmdlist[4] << "/c" << "ping" << strIp;
|
|
|
|
cmdlist[4] << strIp;
|
|
|
|
m_networkDetection[4]->DyChangeCmdList(cmdlist[4]); // 更新到网络检测线程
|
|
|
|
m_networkDetection[4]->DyChangeCmdList(cmdlist[4]); // 更新到网络检测线程
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
default:
|
|
|
@ -232,48 +237,53 @@ void deviceStateDlg::setUrl(
|
|
|
|
// 开始网络监测
|
|
|
|
// 开始网络监测
|
|
|
|
void deviceStateDlg::startNetDetn() {
|
|
|
|
void deviceStateDlg::startNetDetn() {
|
|
|
|
for (int i = 0; i < deviceNum; ++i) {
|
|
|
|
for (int i = 0; i < deviceNum; ++i) {
|
|
|
|
m_networkDetection[i] = new networkDetection();
|
|
|
|
m_networkDetection[i] = new networkDetection(NULL,i);
|
|
|
|
m_workerThread[i] = new QThread();
|
|
|
|
m_workerThread[i] = new QThread();
|
|
|
|
m_networkDetection[i]->moveToThread(m_workerThread[i]);
|
|
|
|
m_networkDetection[i]->moveToThread(m_workerThread[i]);
|
|
|
|
m_workerThread[i]->start();
|
|
|
|
m_workerThread[i]->start();
|
|
|
|
connect(m_networkDetection[i], SIGNAL(resultReady(int, QString, QString)), this,
|
|
|
|
connect(m_networkDetection[i], SIGNAL(resultReady(int, QString, QString)), this,
|
|
|
|
SLOT(receiveResult(int, QString, QString))); // 接收线程运行结果
|
|
|
|
SLOT(receiveResult(int, QString, QString))); // 接收线程运行结果
|
|
|
|
switch (i) {
|
|
|
|
connect(this, &deviceStateDlg::stopThread, m_networkDetection[i],
|
|
|
|
case 0:
|
|
|
|
&networkDetection::stop); // 结束线程
|
|
|
|
connect(this, &deviceStateDlg::startThread0, m_networkDetection[i],
|
|
|
|
connect(this, &deviceStateDlg::startThread, m_networkDetection[i],
|
|
|
|
&networkDetection::dowork); // 光电吊舱 线程开始处理数据
|
|
|
|
&networkDetection::dowork); // 开始线程
|
|
|
|
emit startThread0(i, cmdlist[i]); // 启用线程信号
|
|
|
|
emit startThread(i, cmdlist[i]); // 启用线程信号
|
|
|
|
break;
|
|
|
|
// switch (i) {
|
|
|
|
case 1:
|
|
|
|
// case 0:
|
|
|
|
connect(this, &deviceStateDlg::startThread1, m_networkDetection[i],
|
|
|
|
// connect(this, &deviceStateDlg::startThread0, m_networkDetection[i],
|
|
|
|
&networkDetection::dowork); // L链路 线程开始处理数据
|
|
|
|
// &networkDetection::dowork); // 光电吊舱 线程开始处理数据
|
|
|
|
emit startThread1(i, cmdlist[i]); // 启用线程信号
|
|
|
|
// emit startThread0(i, cmdlist[i]); // 启用线程信号
|
|
|
|
break;
|
|
|
|
// break;
|
|
|
|
case 2:
|
|
|
|
// case 1:
|
|
|
|
connect(this, &deviceStateDlg::startThread2, m_networkDetection[i],
|
|
|
|
// connect(this, &deviceStateDlg::startThread1, m_networkDetection[i],
|
|
|
|
&networkDetection::dowork); // 自组网 线程开始处理数据
|
|
|
|
// &networkDetection::dowork); // L链路 线程开始处理数据
|
|
|
|
emit startThread2(i, cmdlist[i]); // 启用线程信号
|
|
|
|
// emit startThread1(i, cmdlist[i]); // 启用线程信号
|
|
|
|
break;
|
|
|
|
// break;
|
|
|
|
case 3:
|
|
|
|
// case 2:
|
|
|
|
connect(this, &deviceStateDlg::startThread3, m_networkDetection[i],
|
|
|
|
// connect(this, &deviceStateDlg::startThread2, m_networkDetection[i],
|
|
|
|
&networkDetection::dowork); // ku卫通 线程开始处理数据
|
|
|
|
// &networkDetection::dowork); // 自组网 线程开始处理数据
|
|
|
|
emit startThread3(i, cmdlist[i]); // 启用线程信号
|
|
|
|
// emit startThread2(i, cmdlist[i]); // 启用线程信号
|
|
|
|
break;
|
|
|
|
// break;
|
|
|
|
case 4:
|
|
|
|
// case 3:
|
|
|
|
connect(this, &deviceStateDlg::startThread4, m_networkDetection[i],
|
|
|
|
// connect(this, &deviceStateDlg::startThread3, m_networkDetection[i],
|
|
|
|
&networkDetection::dowork); // 线程开始处理数据
|
|
|
|
// &networkDetection::dowork); // ku卫通 线程开始处理数据
|
|
|
|
emit startThread4(i, cmdlist[i]); // 启用线程信号
|
|
|
|
// emit startThread3(i, cmdlist[i]); // 启用线程信号
|
|
|
|
break;
|
|
|
|
// break;
|
|
|
|
default:
|
|
|
|
// case 4:
|
|
|
|
break;
|
|
|
|
// connect(this, &deviceStateDlg::startThread4, m_networkDetection[i],
|
|
|
|
}
|
|
|
|
// &networkDetection::dowork); // 线程开始处理数据
|
|
|
|
|
|
|
|
// emit startThread4(i, cmdlist[i]); // 启用线程信号
|
|
|
|
|
|
|
|
// break;
|
|
|
|
|
|
|
|
// default:
|
|
|
|
|
|
|
|
// break;
|
|
|
|
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 停止网络监测
|
|
|
|
// 停止网络监测
|
|
|
|
void deviceStateDlg::stopNetDetn() {
|
|
|
|
void deviceStateDlg::stopNetDetn() {
|
|
|
|
for (int i = 0; i < deviceNum; ++i) {
|
|
|
|
for (int i = 0; i < deviceNum; ++i) {
|
|
|
|
m_networkDetection[i]->stop(); // 线程退出循环
|
|
|
|
m_networkDetection[i]->stop(i); // 线程退出循环
|
|
|
|
m_workerThread[i]->quit(); // 退出线程请求
|
|
|
|
m_workerThread[i]->quit(); // 退出线程请求
|
|
|
|
m_workerThread[i]->wait(); // 使线程正常退出。
|
|
|
|
m_workerThread[i]->wait(); // 使线程正常退出。
|
|
|
|
m_workerThread[i]->deleteLater();
|
|
|
|
m_workerThread[i]->deleteLater();
|
|
|
|