QNetworkInterface 是一个管理网络连接的类,利用他可以枚举本机的网络连接并获取其属性。比较常用的函数有:
//原型 QList<QNetworkAddressEntry> QNetworkInterface::addressEntries () const //比如获取本地所有 ip 和 netmask //allInterfaces() 是一个静态函数,用于获取本机所以连接。 QList<QNetworkInterface> networkInterface = QNetworkInterface::allInterfaces(); for (QList<QNetworkInterface>::const_iterator i = networkInterface.const_Begin(); i != networkInterface.const_End(); ++i) { //获取连接地址列表 QList<QNetworkAddressEntry> addressEntriesList = (*i).addressEntries(); for (QList<QNetworkAddressEntry>::const_iterator j = addressEntriesList.constBegin(); j != addressEntriesList.constEnd(); ++j) { //输出 ip qDebug() << (*i).ip().toString(); //输出 netmask qDebug() << (*i).ip().toString(); } }
(*i).hardwareAddress();
//allInterfaces() 是一个静态函数,用于获取本机所以连接。 QList<QNetworkInterface> networkInterface = QNetworkInterface::allInterfaces(); for (QList<QNetworkInterface>::const_iterator i = networkInterface.const_Begin(); i != networkInterface.const_End(); ++i) { //获取ip地址列表 QList<QHostAddress> addressesList = (*i).allAddresses(); for (QList<QHostAddress>::const_iterator j = addressesList.constBegin(); j != addressesList.constEnd(); ++j) { //输出 ip qDebug() << (*i).toString(); } }
About the Author
Recent Comments
发表评论
Qt確實沒有提供這方面的功能,只能通過第三方或者系統函數來攻取了。
回复
文中说,qt无法获取,OH no
回复
如何获取网关?
回复