当前位置: 首页 > news >正文

成都网站建设服务功能青岛网站设计微动力

成都网站建设服务功能,青岛网站设计微动力,大连发现2例阳性,响水网站建设服务商在实现类似于Free IP Scanner 2.1的Ip扫描器软件中#xff0c;会用到ping命令。如果使用Qt编程实现#xff0c;主要会用QThread、QProcess这两个类。关于这两个类的具体用法可以查阅Qt助手或者QT官网。在QT中为了扫描大量的Ip#xff0c;通常需要将扫描Ip的任务放在一个单独…在实现类似于Free IP Scanner 2.1的Ip扫描器软件中会用到ping命令。如果使用Qt编程实现主要会用QThread、QProcess这两个类。关于这两个类的具体用法可以查阅Qt助手或者QT官网。在QT中为了扫描大量的Ip通常需要将扫描Ip的任务放在一个单独的线程来完成这样需要子类化QThread重写其run()方法。从QThread类派生出一个ShellProcess的子类该类的头文件代码如下#ifndef SHELLPROCESS_H#define SHELLPROCESS_H#include #include // Ping IP的线程子类class ShellProcess : public QThread{Q_OBJECTpublic:explicit ShellProcess(QObject *parent 0);QStringList getIpRangle(); //获取需要扫描的IP列表void setIpRange(QStringList ipRange); //设置需要扫描的IP列表protected:void run();signals:void commandSuccessed(QString ip);void commandFailed(QString ip);public slots:private:QStringList ipRange; //需要扫描的IP列表};#endif // SHELLPROCESS_HShellProcess类的实现代码如下#include shellprocess.h#include #include ShellProcess::ShellProcess(QObject *parent) :QThread(parent){}QStringList ShellProcess::getIpRangle(){return this-ipRange;}void ShellProcess::setIpRange(QStringList ipRange){this-ipRange ipRange;}void ShellProcess::run(){QString ip;//依次扫描Ip列表中的各个IPforeach( ip, ipRange ){int exitCode;//对每个Ip执行ping命令检测其是否在线qDebug() ping ip endl;#ifdef Q_OS_WINQString strArg ping ip -n 1 -i 2;exitCode QProcess::execute(strArg);#else//其他平台(Linux或Mac)exitCode QProcess::execute(ping, QStringList() -c 1 -t 2 ip));#endifif(0 exitCode){//its aliveqDebug() shell ping ip sucessed!;//发射该IP在线的信号emit commandSuccessed(ip);} else {qDebug() shell ping ip failed!;//发射IP离线的信号emit commandFailed(ip);}}}在实际编程中可以这样使用ShellProcess类#define THREAD_SIZE 10//线程数ShellProcess *shellProcess;for(int i0;ishellProcess new ShellProcess(this);connect(shellProcess, SIGNAL(commandSuccessed(QString)), this, SLOT(slot_onCommandSuccessed(QString)));connect(shellProcess, SIGNAL(commandFailed(QString)), this, SLOT(slot_onCommandFailed(QString)));connect(shellProcess, SIGNAL(finished()), shellProcess, SLOT(deleteLater()));//设置每个线程的Ip扫描范围一共10个线程shellProcess-setIpRange(ip_in_thread[i]);//启动线程shellProcess-start();}具体的项目代码可以参看我github上使用Qt5.2的一个Ip扫描器ip_scan目前只完成了一部分功能。另外需要注意的是ping命令在Windows下和Linux(Mac)下的命令有所不同可以参考Linux和Windows下ping命令详解1和Linux和Windows下ping命令详解2本文同步分享在 博客“雪域迷影”(CSDN)。如有侵权请联系 supportoschina.cn 删除。本文参与“OSC源创计划”欢迎正在阅读的你也加入一起分享。
http://www.huolong8.cn/news/349807/

相关文章:

  • 寺庙建设网站的意义做网站的app
  • 本人承接网站建设百度搜索风云榜单
  • 常州网站推广机构淘宝客网站api
  • 百度做网站怎么样福田蒙派克10座
  • wordpress获取标签链接地址兰州正规seo整站优化工具
  • 静态网站怎么做网站建设无底薪提成
  • 定制网站的制作流程个人网站 费用
  • 织梦做视频网站可以吗什么the wordpress
  • 网站页脚版权信息建设pc 移动网站
  • 永年网站建设公司网站背景图片
  • 开源免费建站程序用的最多的科协网站建设的建议
  • 公众微信网站建设上海人才网官网招聘肖瑶
  • 企业网站推广形式有wordpress怎么配置七牛cdn加速
  • 做网站比较好的软件我想卖东西去哪个网站
  • 深圳网站设计建设wordpress icp
  • 济南移动网站制作施工企业岗位证书有哪些
  • 建站网站如何清理缓存辽宁建设工程信息网作用
  • 做网站用什么做100个免费邮箱号码
  • 吉林省 网站建设jquery 网站后台模板
  • 龙华区网站建设深圳南山区住房和建设局网站
  • 10个网站 云主机需求在线购物网站建设
  • 如何给一个企业的网站做推广安卓app在线开发
  • 网站透明背景下载代码的网站
  • 网站做seo教程wordpress分页目录
  • 如何免费搭建网站源码毕业设计网站开发的中期报告
  • 网页设计网站模板素材广州建网站要多少钱
  • 网站的风格包含的因素wordpress手机号码
  • dw做aspx网站python基础教程推荐
  • 18年手机网站网站导航栏一般有什么内容
  • 怎么样创建做零食山楂的网站wordpress keywords description