语言/QT {QHostInfo(域名转IP地址)}
QHostInfo(域名转IP地址)
定义
需求: 根据域名 查询他的IP地址;
每一次查询 他都是一个网络通讯的过程(即去查询远程DNS服务器), 这一次查询 就是一个QHostInfo
对象;
方式0(堵塞方式): QHostInfo ret = QHostInfo::fromName("域名");
, 这是堵塞方式 即只有当DNS服务器返回过来结果ret
后 你程序才能运行;
方式1(异步方式): int id = QHostInfo::lookupHost( ui->lineEdit_port->text(), this, [&]( const QHostInfo & _ret){}};
, 这就很像是一个信号与槽, 即你程序会正常运行 当DNS服务器返回过来结果后 他就会调用你的第三个参数(槽函数), 结果在_ret
里面; 这个函数返回值id
表示此时后台有一个ID=id的QHostInfo
他正在运行(即给远程DNS发送查询 然后等待服务器的返回结果), QHostInfo
内部 他肯定会保证 你所有的查询(即QHostInfo
对象) 他们的id
号是不同的; 假如很长时间都没反应 那么你可以调用QHostInfo::abortHostLookup(id)
来中止他;
性质
fromName(), lookupHost()
的参数 通常我们都放域名, 即根据域名来查询IP地址;
其实你放入IP地