gpt4 book ai didi

network-programming - LAN 上的网络发现,无需广播

转载 作者:行者123 更新时间:2023-12-05 05:23:18 24 4
gpt4 key购买 nike

简短版本:当广播被禁用时,您会如何建议将客户端连接到同一本地网络上的服务器,而无需手动输入 ip?


更多详情:我正在开发一款 child 教育多人游戏。出于安全原因,许多学校似乎都在阻止广播。 children 会比较小,因此手动输入 IP 对他们来说可能很困难且容易出错。他们都将在同一个房间,并且都将看到服务器屏幕。该游戏使用 Unity (C#) 制作。


可能的解决方案:这是我的想法:

  • 将本地服务器和客户端都连接到外部服务器,通过客户端通过外部服务器与本地服务器 ip 通信,然后直接连接并断开与服务器的连接。不理想,因为需要额外的托管费用。
  • 定期向子网上的所有 ip 发送常规 UDP 消息?这可能会被任何体面的防火墙发现并阻止,对吧?
  • 在服务器上放一个 QR 码, children 可以用客户端应用程序拍照,然后让它连接起来?可能更麻烦。
  • 让服务器播放与客户端正在收听的数字相对应的随机音调? (虽然扬声器可能并不总是有效)

听起来第一个是最明智和最简单的解决方案。对于处于这种情况的人可以尝试什么,您有任何其他想法吗?

最佳答案

UDP多播是否可行?如果是,那么一个常见的解决方案是所有参与者都加入同一个多播组,并且服务器在众所周知的端口上监听。如果客户端想知道服务器的地址,它会向多播组发送一个数据包,客户端接收该数据包并用另一个数据包进行应答,然后客户端可以使用该数据包来确定服务器地址。除此之外,服务器还可以通过向多播组发送合适的消息来定期宣布它们的存在。

关于network-programming - LAN 上的网络发现,无需广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38199340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com