如何在本地Windows网络上发现我的应用程序的所有其他实例?

时间:2013-10-25 07:18:48

标签: c++ windows qt network-programming

我们希望为我们的应用程序添加“协作”功能,因此我们的程序应该能够自动发现在同一本地网络上运行的所有其他自身实例,而无需用户进行任何额外配置。

我们的应用程序在Windows上运行,因此它可以使用操作系统提供的任何API。我们假设一个典型的小型企业网络,几台Windows PC,一些路由器等等。

此外,反病毒,防火墙等会出现问题吗?我们不想吓唬我们的用户。

1 个答案:

答案 0 :(得分:1)

您可以发送broadcast个数据包,但这只能在一个子网内运行(实际上显然是“broadcast domain”,但通常是子网)。如果您只是尝试每个IP,您可以想到您可能会触发防火墙弹出窗口,表明您的软件正试图入侵计算机。我认为最好的方法是为当前子网使用广播,并提供用于添加其他主机的用户界面。