Qt中网络编程(网络接口,TCP,UDP)

网络接口信息获取

QNetwork提供QHostInfo类提供的静态函数,进行主机名的查找,使用OS提供的查找机制获取一个与主机名关联的IP地址或者

获取一个IP地址关联的主机名

QHostInfo中的静态函数fromName(会阻塞并返回QHostInfo一个对象,这个对象的address函数可以获取其主机的IP地址列表)

与lookupHost(异步获取,每找到主机就会发送信号)可以进行主机信息的获取


    //QHostInfo 获取主机名查找
    QString localHostName = QHostInfo::localHostName();//获取了本地主机名

//通过获取主机名 然后两种方式获取其IP地址

    //fromName 寻找主机信息
    QHostInfo info = QHostInfo::fromName(localHostName);
 
    info.addresses();//获取与主机名相关的IP地址列表 包含了ipv4与ipv6

    //lookupHost查找IP地址
    QHostInfo::lookupHost(localHostName, this, SLOT(lookedUp(QHostInfo)));  
	
void MainWindow::lookedUp(const QHostInfo &host)  //对应的槽函数
{
  
    if (host.error() != QHostInfo::NoError) {
    //先判断是否出错
        qDebug() << "Lookup failed:" << host.errorString();
        return;
    }
    foreach (const QHostAddress &address, host.addresses()) //获取地址
        qDebug() << "Found address:" << address.toString();
}


Qt网络模块中还提供了QNetworkInterface类获取主机的IP地址列表和网络接口信息。

QNetworkInterface类代表了运行当前程序的主机的网络接口。

// 获取所有网络接口的列表
    QList<QNetworkInterface> list = QNetworkInterface::allInterfaces();
    // 遍历每一个网络接口
    foreach (QNetworkInterface interface, list)
    {
 
        // 接口名称
        qDebug() <<
  • 6
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值