概述
最近公司项目做跨平台,在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。
从现象看还是路由表配置的问题,暂且如此修改可以收到数据了,收不到数据的根本原因还需调查。
最后
以上就是过时时光为你收集整理的ubuntu下组播问题总结的全部内容,希望文章能够帮你解决ubuntu下组播问题总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复