QHost类:
QHostinfo提供了静态函数用来主机名的查找
QHostinfo使用操作系统提供的查找机制寻找与主机相关联的IP地址的名字,或者与主机名相关联的IP地址。这个类提供两个静态方便的函数:一个异步工作当主机被找到发射信号,另一个堵塞知道返回QHostInfo对象。
查找一个异步主机的IP地址,调用lookupHost(),将主机名或IP地址,接收方对象,和一个槽的签名作为参数并返回一个ID。你可以通过调用abortHostLookup中止查找和查找ID()。
// To find the IP address of qt.nokia.com
QHostInfo::lookupHost("qt.nokia.com",this, SLOT(printResults(QHostInfo)));
// To find the host name for 4.2.2.1
QHostInfo::lookupHost("4.2.2.1",his, SLOT(printResults(QHostInfo)));
当结果被准备好后,这个槽会被唤醒。这个结果被存储在QHostinfo对象中。调用address()获得主机的ip地址列表,调用hostName()获得主机名。
查找失败,error()返回反生的错误类型,errorstring()给了一个人类能过读的查找错误描述。
如果想要堵塞,使用QHostInfo::fromName() function:
QHostInfo info = QHostInfo::fromName("qt.nokia.com");
QHostInfo支持国际化域名(idn)通过IDNA和Punycode标准。
要取到本机域名使用QHostInfo::localhostName().