我在网络编程方面的经验不多,正在编写一个需要每个设备能够在同一局域网内找到其他设备的多平台系统。我正在寻找正确的方法来做到这一点,并希望在这里的人们可以给出好的建议。以下是我的设计要求:
我在使用C++,解决方案需要跨平台,至少能够在iOS、Windows、Android上运行。
该系统应该比较轻量级,并且在没有特殊设置或网络要求的情况下工作,如果可能的话。
以下是我正在考虑的不同方法:
使用uPnP协议,但我对它并不是非常熟悉,而且似乎没有很多关于这个主题的带有代码的示例。
使用传统的socket方法,在每个设备上创建Server/Client,并将数据包发送到局域网中的每个IP。然后手动处理所有内容。如果我向广播地址发送数据包,是否意味着系统会自动将我的数据包发送到子网内的每个IP?
使用外部服务器,所有客户端都将注册到该服务器,然后从该服务器获取关于其他(已注册)客户端的信息。但是,我不确定每个客户端应连接哪些信息才能确定它们在同一局域网中。
让我知道我在想什么是否有意义。非常感谢任何建议。