套接字编程:套接字客户端如何发现局域网内的服务器IP地址



作用域:

  • 操作系统:MACOS,Windows
  • 语言:C++Boost库

描述:

LAN具有N计算机,带有MacOSWindows操作系统,其中N ≈ 10。计算机的IP地址不是静态的,是由网络分配的。在其中一台(机器S(上,正在运行套接字服务器应用程序。在另一台机器(机器C(上,客户端套接字应用程序正在运行。这不是一个静态设置,下次可能是具有不同IP地址的不同计算机。

更新:

服务器机器——是从机。客户端机器就是主机。用户可以在局域网中的任何计算机中安装客户端软件,也可以在局域网内的任何其他计算机中安装服务器软件。服务器负责计算,这需要大量资源,只需将结果发送给客户端。因此,主要思想是:主计算机的用户不应该提供服务器IP地址,但客户端软件应该能够自己发现它。

任务:客户端套接字应用程序不知道服务器应用程序的IP地址,应该能够发现它。解决方案应该是跨平台的(Boost C++(

请提出最佳做法。

我的最佳猜测是:检索所有连接设备的IP地址并socket->send_async_to它们。如果我在handle_receive回调中得到答案,这是一个服务器应用程序。但我没有找到一种方法来获取局域网设备的所有IP地址。

提前感谢您的建议和想法。

使用UDP向网络中的所有计算机发送请求。在服务器中编写一个线程来响应udp请求。然后您可以从服务器获取响应并获取套接字ip。

最新更新