QT查询主机信息IP协议类型及地址

#pragma execution_character_set("utf-8")
GetDoMainIpProcess::GetDoMainIpProcess(QWidget *parent)
    : QDialog(parent)
    , ui(new Ui::GetDoMainIpProcess)
{
    ui->setupUi(this);
    ui->lineEdit_Url->setText("www.126.com");
}

GetDoMainIpProcess::~GetDoMainIpProcess()
{
    delete ui;
}


//网络层协议
QString GetDoMainIpProcess::ProtocolTypeName(QAbstractSocket::NetworkLayerProtocol protocoltype)
{
    switch (protocoltype) {
    case QAbstractSocket::IPv4Protocol:

        return "IPv4 Proctocol";
    case QAbstractSocket::IPv6Protocol:
        return "IPv6 Protocol";
    case QAbstractSocket::AnyIPProtocol:
        return "Any IP Protocol";
    default:
        return "Unknown Network Layer Protocl";
    }



}


//获取IP地址列表
void GetDoMainIpProcess::LookupHostInfoFunc(const QHostInfo &host)
{
    QList<QHostAddress> addresslist=host.addresses();
    for(int i=0;i<addresslist.count();i++)
    {
        QHostAddress host=addresslist.at(i);
        ui->plainTextEdit_DomainIP->appendPlainText("协议类型"+ProtocolTypeName(host.protocol()));
        ui->plainTextEdit_DomainIP->appendPlainText("本地IP地址:"+host.toString());

    }
}

void GetDoMainIpProcess::on_pushButton_clearData_clicked()
{
    ui->plainTextEdit_DomainIP->clear();
}


void GetDoMainIpProcess::on_pushButton_doMainIp_clicked()
{
    //主机名称
    QString strhostname=ui->lineEdit_Url->text();
    ui->plainTextEdit_DomainIP->appendPlainText("你所查询的主机信息:"+strhostname);
    QHostInfo::lookupHost(strhostname,this,SLOT(LookupHostInfoFunc(QHostInfo)));
}

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值