Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我目前正在编写一个使用 TCP/IP 进行通信的 Java 应用程序。我想要完成的是让客户端轻松找到服务器并通过发送一些消息进行连接。
现在的问题是:我该怎么做才能让客户端发现服务器?
有没有办法可以向路由器(可能是 DHCP 服务器)发送一条消息,告诉它我正在使用此服务?然后客户端可以检查路由器(DHCP服务器)上是否有类似的东西并连接到适当的IP。
希望有人可以提供帮助。
您可以使用 UDP 广播。这里有一些关于实现的细节。
查看zeroconf。它是用于服务广告和发现的多播 DNS 解决方案。该协议最初由 Apple 作为bonjour协议。该协议还有一个流行的开源实现,称为Avahi。
有一个 java 库avahi4j可能会有所帮助。我个人对 avahi4j 没有第一手经验,但在其他非 Java 项目中使用过 avahi。
请注意,此方法仅适用于本地子网的广播域。