连接到广播IP地址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了连接到广播IP地址相关的知识,希望对你有一定的参考价值。

我目前正在研究简单的java程序,它应该能够在运行我的第二个java应用程序的本地网络中寻找计算机,所有这些都使用UDP网络。其中一个应用程序打开DatagramSocket并启动一个处理所有输入的线程。另一个应用程序连接到当前LAN网络的广播地址(例如192.16.0.255),发送数据包并接收响应。我对它的工作方式不是很熟悉,但这是我想知道的:

如果我在同一网络的不同计算机上启动其中两个响应应用程序并在其他计算机上运行客户端应用程序,那么它将连接到哪个?我认为它会连接并向两者发送数据包,但它只连接到其中一个,有时不同一个。

你能解释一下这个问题吗?我会很感激。

答案

如果我在同一网络的不同计算机上启动其中两个响应应用程序并在其他计算机上运行客户端应用程序,那么它将连接到哪个?

UDP也不是无连接协议。

我认为它会连接并向两者发送数据包,但它只连接到其中一个,有时不同一个。

UDP是一种有损协议,有时数据将同时发送给两者,一种或两种。您的路由器可以设置为尝试引导广播流量,但通常它会尝试将所有数据包发送给所有侦听器。

BTW:所有侦听器必须位于192.168.0.255 C类子网上。 IP地址为192.168.1.1的主机可能看不到此数据包。

以上是关于连接到广播IP地址的主要内容,如果未能解决你的问题,请参考以下文章

C# - 连接到 (RAS) *** 时如何获取 IP 地址

在 Windows 7 上发送 UDP 广播

连接到公共 IP 地址的 Java 套接字

IPCIDR广播地址子网掩码MAC地址--这些是什么鬼

获取用于从 Android 设备连接到 Firebase 的 IP 地址 [重复]

使用 Termux 查看连接到手机热点的ip地址