接收从“超网”发送的本地广播包

时间:2011-04-14 02:24:50

标签: c linux sockets broadcast subnet

我的问题是针对Linux,在C.

假设子网/ 16上的主机A正在发送广播UDP数据包。 (即通过广播到xxx.xxx.255.255)

有子网掩码/ 24的子网上的主机B是否有办法接收该广播?

主机B上的测试程序在正确的端口上等待,但如果A发送到xxx.xxx.255.255,则不会收到任何内容。但是当使用xxx.xxx.xxx.255时它会这样做。

此外我有限制 1.我无法更改网络配置, 2.在主机A上运行的传统程序也无法更改。

谢谢!

2 个答案:

答案 0 :(得分:1)

不,听起来您的网络配置不正确。

您不能拥有重叠的网络。您有一个/ 16网络,而每个主机/ 16使用255.255.0.0作为网络掩码;或者你把它分解成更小的网络,在这种情况下,每个较小的网络都有自己的网络掩码和广播地址。

答案 1 :(得分:0)

尝试向计算机所在的子网广播。 x.x中。?。255

e.g。

ip is 24.234.123.?
broadcast to 24.234.123.255

由于计算机被锁定到子网/ 24,它将仅被锁定在其范围内的ip。

并且其广播在其范围内。