gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 08:03:58 25 4
gpt4 key购买 nike

这就是我正在尝试做的事情 - 服务器向网络上的所有 PC 以及已启动并正在运行的 PC 发送“Activity 消息”,通过发送其 IP 来响应调用。

我正在研究一段轻量级的代码,因为这将构成我的应用程序的一小部分。

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

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

这个方法可以吗?你认为我可以用更好的方式做到这一点吗?

谢谢!

最佳答案

我很久以前也遇到过类似的问题,我是这样解决的:

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

我个人使用的包看起来像

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

关于java - Java 中的网络发现 多播/广播 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8455755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com