【问题标题】:Get clients on the network discover the server让网络上的客户端发现服务器
【发布时间】:2013-01-10 14:56:00
【问题描述】:

我目前正在编写一个使用 TCP/IP 进行通信的 Java 应用程序。我想要完成的是让客户端轻松找到服务器并通过发送一些消息进行连接。

现在的问题是: 我该怎么做才能让客户端发现服务器?

有没有办法可以向路由器(可能是 DHCP 服务器)发送一条消息,告诉它我正在使用此服务?然后客户端可以检查路由器(DHCP服务器)上是否有类似的东西并连接到适当的IP。

希望有人可以提供帮助。

【问题讨论】:

  • 我认为您可以使用某种来自服务器的广播机制。并且,在客户端使用逻辑来捕获这些数据包。

标签: java tcp client ip


【解决方案1】:

您可以使用 UDP 广播。这里some details关于实现。

【讨论】:

  • 谢谢,我要用这个:-)
【解决方案2】:

查看zeroconf。它是用于服务广告和发现的多播 DNS 解决方案。该协议最初由 Apple 作为bonjour 协议。该协议还有一个流行的开源实现,称为Avahi

有一个 java 库 avahi4j 可能会有所帮助。我个人对 avahi4j 没有第一手经验,但在其他非 Java 项目中使用过 avahi。

请注意,此方法仅适用于本地子网的广播域。

【讨论】:

  • 谢谢,我想我会使用 valodzka 的方法,因为我已经开始了,而且看起来更简单 :-) 无论如何谢谢!!
猜你喜欢
  • 1970-01-01
  • 2012-11-05
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-30
  • 1970-01-01
  • 2014-09-06
相关资源
最近更新 更多