Java Multicast / Broadcast Java中的网络发现

这就是我正在尝试做的事情 – 服务器向网络中的所有PC以及启动并运行的PC发送“活动消息”,通过发送IP来响应呼叫。

我正在寻找一个轻量级的编码,因为这将形成我的应用程序的一小部分。

我看过Jini和其他服务,但发现我可能不需要他们的一半function(网络发现除外)

如果我可以:1。使用for循环,服务器打开套接字,检查(使用for循环)是否可以通过发送“Alive”消息来访问所有IP xxxx。 2.在特定套接字的客户端收到“alive”消息后,客户端回复其IP。

这种方法好吗? 你认为我能以更好的方式做到吗?

谢谢!

很久以前我遇到过类似的问题,我解决了如下问题:

  • 服务器将网络上的UDP数据包广播到255.255.255.255
  • 所有可访问的客户端都将使用包含其IP和您要发送的任何其他信息的UDP数据包进行响应。

我个人使用的包看起来像

public class UDPDiscoveryPacket{ public final long sendingTime; public final String clientIP; public UDPDiscoveryPacket(long sendingTime, String clientIP){ this.sendingTime = sendingTime; this.clientIP = clientIP; } }