Linux下不能向255.255.255.255发送udp广播


我的ip是192.168.0.X, 路由IP是192.168.0.254,子网掩码255.255.255.0,广播发送的地址为255.255.255.255,Ubuntu下发送正常,然而在嵌入式linux设备里运行,sendto函数返回-1,perror显示network is unreachable.困扰了一天,后来看了多个帖子,受到了启发,问题解决。现在跟大家分享一下:

我添加了到255.255.255.255的路由就可以发送成功啊,添加的 命令是:

route add -net 255.255.255.255 netmask 255.255.255.255 dev eth0 metric 1

或者

route add -host 255.255.255.255 dev eth0

这样就OK了!但是具体原理目前还不知道。

相关内容