C++ Qt。如何使用QtNetwork查看网络上的其他计算机?
我需要在本地网络中获取所有PC的IP地址。如果我可以使用C++ Qt。如何使用QtNetwork查看网络上的其他计算机?,c++,qt,network-programming,qtnetwork,C++,Qt,Network Programming,Qtnetwork,我需要在本地网络中获取所有PC的IP地址。如果我可以使用QtNetwork,我应该如何正确地做到这一点? 我用累了 QNetworkInterface::allAddresses(); QNetworkInterface::allInterfaces(); 但这绝对不是我需要的 附言 我需要获得IP才能连接到一些Postgresql服务器,是否有一些Postgresql驱动程序功能可以让事情变得更简单?您需要的是所谓的“网络发现”。有很多不同的方法,每种方法都专用于特定的子域。较低级别的方法称
QtNetwork
,我应该如何正确地做到这一点?
我用累了
QNetworkInterface::allAddresses();
QNetworkInterface::allInterfaces();
但这绝对不是我需要的
附言
我需要获得IP才能连接到一些Postgresql服务器,是否有一些Postgresql驱动程序功能可以让事情变得更简单?您需要的是所谓的“网络发现”。有很多不同的方法,每种方法都专用于特定的子域。较低级别的方法称为
ARP,地址解析协议
,请参阅一个很好的教程,例如此处。如果您需要服务发现,那么您可能应该使用ZeroConf&friends嗯,我想我只需要发现地址,因为如果我获得了一些地址,那么连接到那里的Postgresql server就没有问题了。谢谢,这里有一个很好的Linux示例,但是Windows和Mac有什么特点呢?好吧,TCP/IP网络堆栈基本上是BSD(Berkeley Software Distribution)的发明,它的基本方法、技术和工具在所有系统中都是相同的。此外,MacOS X是一个隐蔽的unix系统,高级用户的操作环境几乎与Linux相同(当然有区别,但我相信在这种情况下它们并不重要)。上面提到的arp扫描
程序适用于Linux和MacOSX。对于Windows,您可以使用诸如