1. 程式人生 > >linux多播常見問題解決辦法

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)