linux多播常见问题解决办法

1、组播和广播需要在局域网内才能实现,另外得查看linux系统是否支持多播和广播:

ifconfig 

UP BROADCAST MULTICAST MTU:1500 跃点数:1 说明该网卡支持 



2、发送多播包的主机需要设置网关,否则运行sendto()会出现"network is unreachable",网卡可以随便设置,但是一定要设。还要添加路由240.0.0.0,即: 
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 
route add default gw "192.168.9.1" dev eth0 


3 、出现:“setsockopt:No such device”。的提示,说明多播IP设置出现问题,系统所需要的uint32_t格式的网络地址的开头不是1110,检验通不过。解决办法:在把地址字符串"*.*.*.*"转化为uint32_t时采用htonl(inet_network(“*.*.*.*”))或者inet_aton函数,inet_aton(GRUPO, &srv.sin_addr)

你可能感兴趣的:(linux)