linux下不能向255.255.255.255发送udp广播

2019-07-13 01:51发布


        我的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了!但是具体原理目前还不知道,那位大虾看到了烦请解释下,不胜感激!