在Python中广播套接字服务器[关闭]

2023-12-25

我正在构建一个多人游戏,所以一旦服务器启动,我想连续广播服务器名称,以便客户端可以知道有一些服务器正在运行。我不想提供连接服务器的 IP 地址和端口号。有人可以帮我广播服务器名称吗?

  • 这是一个应用程序而不是网络应用程序。

SO 中有一个自动回复的问题已经讨论过这一点:如何使 LAN 客户端可发现服务器 https://stackoverflow.com/questions/18080094/how-to-make-a-server-discoverable-to-lan-clients

您可以使用相同的技术来请求本地网络中的服务器。

视频游戏中的方法(YMMV)是:

  • 服务器启动并绑定到广播。
  • 客户端启动并绑定到广播。
  • 客户端发送广播消息请求服务器。
  • 服务器接收来自客户端的广播消息,并回复有关它们的另一条广播(如果它们感到偏执,它们可能会在一两秒后重新发送该消息)。
  • 客户端等待几秒钟并记录所有响应的服务器信息。
  • Clients present a list with the servers and ask the players to choose one.
    • 也许他们会希望在玩家访问服务器列表页面期间继续并行执行上一步。
  • Clients unbind from broadcast and try to connect to the player selected server.
    • 通常也可以选择端口,但游戏中默认提供此连接的默认端口。这样,如果端口未更改,您甚至不需要在消息中广播服务器身份...
  • 每个人都停止用广播消息使网络饱和! :P

要通过互联网发现服务器,您需要某种通知服务。网络中有很多选项可用作通用发现服务,自 Android 网络游戏时代以来就很流行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Python中广播套接字服务器[关闭] 的相关文章

随机推荐