C++/Qt 网络(续一)

一、前言


        前文主要讲到了网络编程的一些概念,主要是包含网络编程中涉及的传输层TCP和UDP两种协议的概念和区别,以及在文章最后提及到了Qt提供的网络编程的模块Qt NetWork模块和相关的类。这篇文章将接着上述内容继续向下陈述,其中将拆分为四个内容,分别是主机信息查询、TCP通信、UDP通信和基于HTTP的网络应用程序,本章先行讲述第一个内容——《主机信息查询》。

        对于前文的网络编程的一些概念的内容,可自行查看文章:C++/Qt 网络-CSDN博客

二、主机信息查询 


       使用QHostInfo类和QNetworkInterface类可以获取主机的一些网络信息,如IP地址和MAC地址,这是网络通信应用需要获取的基本信息,本文就介绍这两个类的使用方法。

        1、QHostInfo类和QNetworkInterface类

        QHostInfo类可以根据主机名获取主机的IP地址,或者通过IP地址获取主机名。QHostInfo类的静态函数localHostName()可获取本机的主机名,静态函数fromName()可以通过主机名获取IP地址。QHostInfo类的主要接口函数如表所示,表中列出了函数原型,但是省略了参数中的const关键字。

QHostInfo类的主要接口函数
类别 函数原型 作用
公共函数 QList<QHostAddress> addresses() 返回与hostName()对应主机关联的IP地址列表
HostInfoError error() 如果主机查找失败,返回失败类型
QString erroeString() 如果主机查找失败,返回错误描述字符串
QString hostName() 返回通过IP地址查找到的主机名
int lookupId() 返回本次查找的Id
静态函数 void abortHostLookup(int id) 中断主机查找

QHostInfo fromName(QString &name)

返回指定主机名的IP地址
QString localDomainName() 返回本机域名系统(DNS)域名
QString localHostName() 返回本机主机名

int lookupHost(QString &name, QObject *receive,char *member)

以异步方式根据主机名查找主机的IP地址,并返回一个表示本次查找的ID,可用作abortHostLookup()函数的参数

        QNetworkInterface类可以获得运行程序的主机的所有IP地址和网络接口列表,静态函数allInterfaces()返回主机上所有的网络接口列表,一个网络接口可能包含多个IP地址,每个IP地址与掩码或广播地址关联。如果无需知道子网掩码和广播地址,使用静态函数allAddresses()可以获得主机上所有IP地址的列表。QNetworkInterface类的主要接口函数如表所示,表中列出了函数原型,但是省略了参数中的const关键字。

QNetworkInterface类的主要接口函数
类别 函数原型 作用
公共函数

QList<QNetworkAddressEntry> addressEntri

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张鱼小丸子_微辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值