Qt5.12获取本机IP地址
最近在写有关Qt网络通信方面,下面是一个小模块,获取主机的IP地址。 QString get_local_ip ( ) { QHostInfo info = QHostInfo :: fromName ( QHostInfo :: localHostName ( ) ) ; // 找出一个IPv4地址即返回 foreach ( QHostAddress address , info . addresses ( ) ) { if ( address . protocol ( ) == QAbstractSocket :: IPv4Protocol ) { return address . toString ( ) ; } } return "0.0.0.0" ; } 首先获取本机所有IP地址信息,包括环回地址如127.0.0.1,以及本机地址如192.168.1.x等等,有安装虚拟机的还有其他地址等等。 /** * @brief 检测当前网卡是否是虚拟网卡(VMware/VirtualBox)或回环网卡 * @param str_card_name 网卡的描述信息 * @return 如果是虚拟网卡或回环网卡,返回true, 否则返回false */ bool is_virtual_network_card_or_loopback ( QString str_card_name )