查看网络上的多个服务器

Seeing multiple servers on a network

我正忙于一个项目,我正在创建一个基本的 client/server 聊天应用程序,它允许用户在他们选择的端口上的本地网络上创建一个服务器,然后让多个客户端连接到该服务器通过指定服务器的 IP 和端口号(到目前为止一切顺利)。

我想知道当本地网络上有多个服务器 运行 通过不同的端口时,我如何让客户看到他们可以在本地网络上连接的所有可能的服务器,然后允许它们连接到一个。我正在为这个项目使用基本的 Java 套接字编程。

你可以

  • 使用基于 UDP 的协议,每个服务器每秒发布它 IP:port。
  • 你可以有一个服务,每个服务器都注册。您可以与它聊天以获取所有服务的列表。

后一种选择的好方法是您可以使用您的聊天服务之一来发现服务器。当您想要获取列表时,您可以向该服务器上的一个频道发送一条消息,所有服务器都在收听该频道,并且它们会以聊天消息进行响应。