Linux下发送全网广播报文

    前面一段时间做个程序移植,需要在Linux下发送和接收全网广播(255.255.255.255)报文。由于对Linux不是太熟悉,因此查了一些资料才解决这个问题,这里做个概要总结。

    1)建立UDP socket,并调用setsockopt设置SOL_SOKET层的SO_BROADCAST选项,以支持广播。这个步骤与VxWorks等下都一样。

    2)需要确保Linux的路由表中有到255.255.255.255的路由表项,可以通过利用 route add 命令添加,例如route add 255.255.255.255 eth0,注意eth0只是个例子,需要换成实际接口命,可以用ifconfig查看。这个步骤很重要,是我查资料花时间最多的一步。可以把添加静态路由的命令放在/etc/rc.local文件中,从而避免开机后再次配置路由。

    3)调用sendto函数就可以发送全网广播报文了。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值