短版本:当广播被禁用时,您建议如何将客户端连接到同一本地网络上的服务器,而不手动进入ip?
进一步详细介绍:我正在为孩子们开发一款教育多人游戏。许多学校似乎出于安全原因而封锁广播。孩子们会很小,所以他们可能很难,而且很容易不得不手动输入IP。他们都在同一个房间里,都会看到服务器屏幕。这个游戏是用统一(C#)制作的。
潜在解决方案:下面是我的想法:
听起来第一个是最理智、最容易解决的办法。在这种情况下,你还有其他的想法可以尝试吗?
发布于 2016-07-07 19:13:37
UDP组播可以吗?如果是,那么一个常见的解决方案是,所有参与者都加入同一个多播组,服务器在一个众所周知的端口上监听。如果客户端想知道服务器的地址,它将一个分组发送到多播组,多播组由客户端接收并以另一个数据包应答,然后客户端可以使用该数据包来确定服务器地址。此外,服务器还可以通过向多播组发送合适的消息来定期宣布它们的存在。
发布于 2016-07-05 09:33:06
我能想到的是所有设备之间的临时通信协议。假设你有一个服务器和10个客户端。所有设备都应该运行绑定到固定端口(比如9999 )的服务(例如服务器发现)。现在,每当客户端想连接到服务器而不知道IP时,它就会启动扫描。循环通过不同的IP并尝试连接到9999。如果它成功命中,它将请求服务器IP。如果它成功地命中了服务器,它将得到IP,因为服务器知道它自己的IP,并且客户机将在缓存中维护服务器IP。如果客户碰到了另一个客户。它可以请求服务器IP。它的另一个客户知道的IP,它将分享信息,其他谢绝。我同意有大量的开销,但我认为这将是不健全的,并将减少每次打印QR的成本。
发布于 2017-05-18 17:43:07
在本地网络上,流量是直接从主机到主机。我不明白是哪种设备阻塞了本地广播。
如果局域网上没有太多的对等点(少于100 ),我认为udp广播可以正常工作,而且不会污染网络。
为了了解你的“池塘”,我建议你闻闻当地的交通。有很多广播: arp,windows,ipp,dropbox.
https://stackoverflow.com/questions/38199340
复制相似问题