ubuntu下组播问题总结

最近公司项目做跨平台,在linux下遇到了组播数据接收的问题总结。

程序大概讲下,服务器A通过组播发出数据,服务器B接收A发出的组播数据,windows下收发一切正常。

在向linux(ubuntu16.04)移植时,服务器B接收不到组播数据,使用tcpdump是可以抓到组播数据的。

尝试了网上找到的很多方法,都没有解决,最后用了下面方法可以收到数据了:

1.组播地址加到路由表。 eg : route add -net 224.0.0.0 netmask 224.0.0.0 enp4s0

2.路由表增加一个地址为0.0.0.0且掩码0.0.0.0的默认路由。 eg : route add -net 0.0.0.0 netmask 0.0.0.0 enp4s0

3.程序中接收端socket绑定的本机地址改为0.0.0.0

运行OK。

从现象看还是路由表配置的问题,暂且如此修改可以收到数据了,收不到数据的根本原因还需调查。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值