0

我正在编写客户端-服务器应用程序,我需要我的服务器来查找某个网络中的所有客户端。我已经在这里找到了一些信息:Discovering clients on a wifi network,但我仍然不明白如何实现这一点。也许有人可以说我在哪里可以找到一些代码示例。

提前致谢。

PS。在 c++、windows 上工作。

4

1 回答 1

0

通常 TCP/IP 用作客户端和服务器之间的通信协议。对于 Windows 平台,Winsock 库用于实现 TCP/IP。服务器绑定并在端口上侦听传入连接。就像像 stackoverflow 这样的网络服务器默认侦听端口 80,然后客户端(浏览器)连接到它。

这是一个开始的链接这是样本

通常,所有客户端都连接到侦听明确定义的端口的服务器。服务器只是一个,因此所有客户端都知道 IP 地址和端口,因此他们可以连接到它。

在您的情况下,您希望您的服务器能够发现网络中的所有客户端。为此,服务器需要向网络广播一些消息。客户端将收到此消息,并将向服务器响应它们在此类 IP 上可用,并且它们可以连接到服务器或向服务器提供附加信息。通常使用多播而不是广播,这是有限广播。所有的客户端和服务器都会订阅多播组,这是一种特殊的 IP 地址。当服务器向该多播地址发送消息时,所有作为该地址订阅者的客户端都会收到该消息并可以回复。这是一个示例

编辑:您还可以使用 boost lib 来实现多播:发件人,例如。接收器,例如。

于 2012-06-02T16:14:00.577 回答