返回> 网站首页
[转载]linux广播errno==13
yoours2015-06-27 19:41:01
简介一边听听音乐,一边写写文章。
原因分析:
没有设置socket的广播SO_BROADCAST属性,或者设置失败却想当然的认为是成功。这时sendto数据返回-1,errno等于13.
1、设置SO_BROADCAST失败,windows上xp是可以成功的
bool bOptVal= 1;
int n = setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (const char*)&bOptVal, sizeof(bool));
2、设置SO_BROADCAST成功
int bOptVal= 1;
int n = setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (const char*)&bOptVal, sizeof(int));
参数类型bool,int导致
文章评论
1905人参与,0条评论