qt ipc_qt制作ip端口扫描

hacker|
51

QT怎么获取某个网络端口信号来源的IP地址,并可以在已有的数据库中搜索该IP地址含有的信息,用哪些语句?

1。QHostInfo类获取主机名和ip地址

(1)获取主机名: QHostInfo::localHostName()

QString localHostName=QHostInfo::localHostName();

(2)获取ip地址: QHostInfo info=QHostInfo::fromName(localHostName);//根据上边获得的主机名来获取本机的信息

info.addresses();//QHostInfo的address函数获取本机ip地址

如果存在多条ip地址ipv4和ipv6:

foreach(QHostAddress address,info.addresses())

{

if(address.protocol()==QAbstractSocket::IPv4P)//只取ipv4协议的地址

qDebug()address.toString();

}

如果是ipv6地址,可以使用QAbstractSocket::ipv6Protocol来实现。

QHostAddress类是管理ip地址的类,所有的ip都归这个类管理。

QT开发(五十)——QT串口编程基础

一、QtSerialPort简介

1、串口通信基础

目前使用最广泛的串口为DB9接口,适用于较近距离的通信。一般小于10米。DB9接口有9个针脚。

串口通信的主要参数如下:

A、波特率:衡量通信速度的参数,表示每秒钟传送的bit的个数。例如9600波特表示每秒钟发送9600个bit。

B、数据位:衡量通信中实际数据位的参数,当计算机发送一个信息包,实际包含的有效数据位个数。

C、停止位:用于表示单个包的最后一位。典型的值为1和2位。

D、奇偶校验位:串口通信中一种检错方式。常用的检错方式有:偶、奇校验。

2、QtSerialPort模块简介

QtSerialPort模块是QT5中附加模块的一个模块,为硬件和虚拟的串口提供统一的接口。

串口由于其简单和可靠,目前在像嵌入式系统、机器人等工业中依旧用得很多。使用QtSerialPort模块,开发者可以大大缩短开发串口相关的应用程的周期。

Qt SerialPort提供了基本的功能,包括配置、I/O操作、获取和设置RS-232引脚的信号。

Qt SerialPort模块暂不支持以下特性:

A、终端的特性,例如回显,控制CR/LF等等

B、文本模式

C、读或写操作的超时和延时配置

D、当RS-232引脚信号变化通知

#include QtSerialPort/QtSerialPort

要链接QtSerialPort模块,需要在.pro文件中添加如下内容:

QT += serialport

二、QSerialPort

1、QSerialPort简介

QSerialPort提供了访问串口的接口函数。使用辅助类QSerialPortInfo可以获取可用的串口信息。将QSerialPortInfo辅助类对象做为参数,使用setPort()或setPortName()函数可以设置要访问的串口设备。

设置好端口后,可以使用open()函数以只读、只写或读写的模式打开使用。

注意,串口使用独占方式打开。

使用close()函数关闭串口并且取消IO操作。

串口成功打开后,QSerialPort会尝试确定串口的当前配置并初始化。可以使用setBaudRate()、setDataBits()、setParity()、setStopBits()和setFlowControl()函数重新配置端口设置。

有一对名为QSerialPort::dataTerminalReady、QSerialPort::requestToSend的属性

QSerialPort提供了中止正在调用线程直到信号触发的一系列函数。这些函数用于阻塞串口。

waitForReadyRead():阻塞调用,直到有新的数据可读

waitForBytesWritten():阻塞调用,直到数据以及写入串口

阻塞串口编程与非阻塞串口编程完全不同。阻塞串口不会要求时间循环并且通常会简化代码。然而,在GUI程序中,为了避免冻结用户界面,阻塞串口编程只能用于非GUI线程。

QSerialPort也能使用QTextStream和QDataStream的流操作符。在试图使用流操作符读时,需要确保有足够可用的数据。

2、QSerialPort成员函数

QSerialPort::QSerialPort(QObject *parent = Q_NULLPTR)

QSerialPort::QSerialPort(const QString name, QObject *parent = Q_NULLPTR)

QSerialPort::QSerialPort(const QSerialPortInfo serialPortInfo, QObject *parent = Q_NULLPTR)

[virtual] bool QSerialPort::atEnd() const

[signal] void QSerialPort::baudRateChanged(qint32 baudRate, QSerialPort::Directions directions)

[virtual] qint64 QSerialPort::bytesAvailable() const

[virtual] qint64 QSerialPort::bytesToWrite() const

[virtual] void QSerialPort::close()

void QSerialPort::setPort(const QSerialPortInfo serialPortInfo)

void QSerialPort::setPortName(const QString name)

三、QSerialPortInfo

1、QSerialPortInfo简介

QSerialPortInfo类提供已有串口设备的信息。使用QSerialPortInfo类的静态成员函数生成QSerialPortInfo对象的链表。链表中的每个QSerialPortInfo对象代表一个串口,每个串口可以使用端口名、系统定位、描述、制造商查询。QSerialPortInfo类对象也可以用做QSerialPort类的setPort()成员函数的参数。

2、QSerialPortInfo成员函数

QSerialPortInfo::QSerialPortInfo(const QSerialPort port)

QSerialPortInfo::QSerialPortInfo(const QString name)

QSerialPortInfo::QSerialPortInfo(const QSerialPortInfo other)

[static] QListQSerialPortInfo QSerialPortInfo::availablePorts()

QString QSerialPortInfo::description() const

bool QSerialPortInfo::hasProductIdentifier() const

bool QSerialPortInfo::hasVendorIdentifier() const

bool QSerialPortInfo::isBusy() const

QString QSerialPortInfo::manufacturer() const

QString QSerialPortInfo::portName() const

quint16 QSerialPortInfo::productIdentifier() const

QString QSerialPortInfo::serialNumber() const

[static] QListqint32 QSerialPortInfo::standardBaudRates()

void QSerialPortInfo::swap(QSerialPortInfo other)

QString QSerialPortInfo::systemLocation() const

quint16 QSerialPortInfo::vendorIdentifier() const

3、QSerialPortInfo显示串口信息实例

Qt 想利用qt在Linux下开发一个测试程序,实现,wifi 的开关和扫描,列出附近所有的可用W

目的是让消费者可以透过更简单的方式来设定无线网络装置,并且保证有一定的安全性。当前WPS允许透过Pin Input Config(PIN)、Push Button Config(PBC)、USB Flash Drive Config(UFD)以及Near Field Communication 、Contactless Token Config(NFC)的方式来设定无线网络装置。

*ASD(Application Specific Device):这是针对除了无线网络存取点(Access Point)及站台(Station)之外其他有特殊应用的无线网络装置,例如DVD播放器、投影机、打印机等等。

*CWG(Converged Wireless Group):主要是针对Wi-Fi mobile converged devices 的RF 部分测量的测试程序。

信道频点

信道频点(MHz)

1 2412

2 2417

3 2422

4 2427

5 2432

6 2437

7 2442

8 2447

9 2452

10 2457

11 2462

12 2467

13 2472

14 2484

Qt开发 打算写一个接口,来测试是否能够ping通指定的ip

就自己新建一个类,在类的.h文件里里面新建一个slot 修饰的函数,然后在对应的.c文件中具体实现这个函数,比如要用到socket,要如何连接,如何发送数据包,再等待接受回应,如何判断是否发送与接收一致,再处理。就OK了。

QT怎么做TCP广播IP

QT做TCP广播IP方法如下所示:

1、在*.pro文件中加入network模块QT+=network

2、在你的*.h里面添加QTcpSocket

3、连接服务器地址和端口号tcpSocket-connectToHost("192.168.1.1",8000);

4、监听连接成功的信号SGINAL--connected()

5、给socket填写你想发送的数据,封装成QByteArray

0条大神的评论

发表评论