繁体   English   中英

服务器浏览器如何在游戏中工作?

[英]How does a server browser e.g. in games work?

我已经编写了各种网络程序,如聊天和游戏,但用户总是必须输入服务器的IP,这是非常不寻常的。 我想通过普通游戏实现一个服务器浏览器,它可以自动定位局域网中的服务器。 我想用Java做。

我的问题是:

这个浏览是如何工作的? 还有WiFi,例如,自动找到另一方的所有内容。

是否有可能并且也是一种很好的方法来将状态包广播到整个局域网? 哪个时间间隔有用?

对于WiFi,设备侦听特定频率范围并扫描范围以寻找信号。 这与电视用于接听电台的过程大致相同,或者一个人可能会找到本地广播电台。

对于互联网游戏服务器,您无法扫描整个互联网。 通常,服务提供主服务器,配置为在已知端口上发送服务器列表。 通常,它还允许服务器更新其信息。

对于本地游戏服务器,通常它是每隔几秒左右的单个数据包。 即使在空闲网络上也存在相当多的流量,其中各种服务请求这种数据(Apple的发现协议,Bonjour常见,Windows网络发现协议也是如此)。

对于网络游戏,有一组中央服务器,用于托管设置游戏所需的信息。 过去,这通常只是托管游戏的人的IP地址和端口,以及任何游戏信息,例如名称,地图等。

目前,由于防火墙/ NAT问题和作弊问题,大多数网络游戏实际上也通过这些服务器发送数据。 这样做很昂贵。

对于本地网络上的游戏,UDP数据包将发送到广播地址,该子网上的所有设备都会收到该数据包。 托管游戏向数据包发送有关连接位置的信息,加入的人接收这些数据包以了解游戏服务器的位置。 然后他们直接连接到游戏服务器。

如果您在IP网络上并且您的地址是192.168.1.100且子网掩码为255.255.255.0,则您的广播IP地址为192.168.1.255。 另见: http//en.wikipedia.org/wiki/Broadcast_address#IP_networking

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM