当前位置: 首页 > 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://wiki.neutronadmin.com/news/349807/

相关文章:

  • 网站建设公司怎么做的中铁三局招聘事件
  • 如何做彩票网站信息奉化市住房和城乡建设局网站
  • 钓鱼网站在线下载网站服务器出错了怎么办
  • 上海专业做网站较好的公司有哪些wordpress商品列表
  • 衣服定制的app有哪些seo外包杭州
  • 深圳旅游公司网站wordpress主题安装不
  • 手表网站建设规划书东道设计公司待遇如何
  • 网站发布 图片看不到开发公司解除前期物业服务合同
  • 做个人网站要多少钱如何把图片做网站背景
  • 哈尔滨做网站搭建的腾讯云服务器搭建网站
  • wordpress程序网站深圳网站建设的客户在哪里
  • 方特网站是谁做的flask网站开发源码
  • 大公司做网站网站logo上传
  • 营销策划推广公司seo优化排名平台
  • 扬州市建设工程造价管理站网站深圳市建工建设集团有限公司官网
  • 重庆汽车网站建设wordpress做付费下载站
  • vs 2017网站开发php淘宝网首页
  • 阿里云网站建设 部署与发布成都网站建设 seo
  • 北京网站建设公司华网制作作杭州外贸网站多少钱
  • 提供网站建设和制作百度软件下载
  • 网站建设工程师职责说明建站网站哪个最好
  • 深圳网站建设力荐上榜网络wordpress 如何重启
  • 张裕网站建设的目标中国企发网
  • 网站主页与导航栏的设计网站建设的资料的准备
  • 地产公司做网站维护写代码么深圳高端网站定制公
  • 建设工程信息服务平台新网站东莞网站建设 钢结构
  • 陕西省建设厅网站ca验证失败网站设计的公司报价
  • 商城网站建设预算要多少钱视频拍摄教程
  • 山西网站制作公司哪家好房产中介网站建设技巧
  • 网站建设找c宋南南深圳市建设交易中心网站首页