1,查看Linux系统是否支持多播:ifconfig出现 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric
2, 出现:“setsockopt:No such device”。的提示,说明多播IP设置出现问题,系统所需要的uint32_t格式的网络地址的开头不是1110,检验通不过。解决办法:在把地址字符串”*.*.*.*”转化为uint32_t时采用htonl(inet_network(“*.*.*.*”))或者inet_aton函数,inet_aton(GRUPO, &srv.sin_addr)。
3,如果发送多播包的主机没有设置网关,会出现“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.40.1 ” dev eth0