使用 UDP 检查可用的主机

本文关键字:主机 UDP 检查 使用 | 更新日期: 2023-09-27 18:33:09

我需要每台运行我的程序的计算机一遍又一遍地将其IP发送到多播,我需要每台运行的计算机能够构建运行该程序的可用主机列表。有没有办法在 C# 中使用 UDP 做到这一点?

使用 UDP 检查可用的主机

你想要的是广播而不是多播。是的,这是可能的,您需要:

  • 将数据发送到广播地址,例如端口号上的 192.168.255.255。这会将数据发送给连接到 192.168.x.x 子网的每个人。(255.255.255.255 是有效的 - 发送给每个人 - 但这几乎总是被丢弃并且可能不起作用)。
  • 您无需在广播中包含您的 IP,因为接收方可以看到他们从中接收数据的 IP 端点。

注意:防火墙、NAT 等通常会丢弃传入的未经请求的数据,除非特别告知允许/转发它。在 LAN 上,上述内容通常无需更改即可工作。