在整个网络中广播自己的IP

Broadcasting own IP across entire network

我想知道是否有更简单的方法使用 C 或 C++ 将我自己的 IP 广播到网络上特定端口上的所有设备

我不太了解套接字编程,因为我的大多数应用程序不需要网络。我调查了它,I found one piece of code 看起来很有希望,尽管它并不完全是 广播 ,因为它发送到特定的 IP 地址。

有没有办法一次性广播到 192.168.1.0/255 之间的地址,或者我需要通过这些地址循环然后自己发送数据包给他们?

编辑:我问的是 C++ 实现,而不是网络基础设施。这就是为什么我 link 编辑了上面的内容 link。

向网络的广播地址发送UDP数据报。 UDP 数据报将包含原始 IP 地址。网络中的其他应用程序可以从 UDP 数据报中获取 "your" IP 地址。

有没有办法一次性广播到 192.168.1.0/255 之间的地址,或者我需要通过这些地址循环然后自己发送数据包给他们?

在每个 IP 网络中都有一个地址,称为广播地址,网络中的所有设备都可以接收到该地址的数据报。可以在此处找到更多信息:http://en.wikipedia.org/wiki/Broadcast_address

我问的是 C++ 实现,而不是网络基础结构。这就是为什么我 link 编辑了上面的 link.

这个例子可能会有帮助: https://www.cs.rutgers.edu/~pxk/417/notes/sockets/udp.html

这几乎就是 IP multicast 的发明目的。

编辑 0:

互联网上有大量示例。给你一对:

还有很多,但如果您真的想进行网络编程,请获取 this book,您将永远不会后悔。