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

Fun*_*guy 0 c c++ sockets networking broadcast

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

我对套接字编程不太了解,只是因为我的大多数应用程序不需要网络。我研究了一下,发现一段代码看起来很有前途,尽管它并没有完全广播,因为它发送到特定的 IP 地址。

有没有一种方法可以一次性广播到 192.168.1.0/255 之间的地址,或者我是否需要遍历这些地址,然后自己向它们发送一个数据包?

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

Baq*_*aqs 5

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

有没有一种方法可以一次性广播到 192.168.1.0/255 之间的地址,或者我是否需要遍历这些地址,然后自己向它们发送一个数据包?

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

我问的是 C++ 实现,而不是网络基础设施。这就是为什么我链接了上面的链接。

此示例可能会有所帮助: https://www.cs.rutgers.edu/~pxk/417/notes/sockets/udp.html