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