编程语言
首页 > 编程语言> > Java多播/广播Java中的网络发现

Java多播/广播Java中的网络发现

作者:互联网

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

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

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

我可以:
1.使用for循环,服务器打开套接字,检查(使用for循环)是否可以通过发送“Alive”消息来访问所有IP x.x.x.x.
2.在特定套接字的客户端收到“活动”消息后,客户端回复其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;
      }
}

标签:broadcast,java,networking,multicast
来源: https://codeday.me/bug/20191001/1839556.html