当前位置: 技术问答>linux和unix
Linux下怎样发送广播信息?
来源: 互联网 发布时间:2015-12-22
本文导语: 我做了一个Linux下的socket程序,用它向某一IP(如192.168.0.178)发数据包时,可以发送成功,向某一不存在的IP(即ping不能的IP)发送,也能成功,sendto的返回值都是正数,是已经发送的字节数, 但是,我向广播地址(1...
我做了一个Linux下的socket程序,用它向某一IP(如192.168.0.178)发数据包时,可以发送成功,向某一不存在的IP(即ping不能的IP)发送,也能成功,sendto的返回值都是正数,是已经发送的字节数,
但是,我向广播地址(192.168.0.255 或 255.255.255.255)发送时均不成功,返回值为-1,查看errno的值为13,义为权限不够(我是使用root发的,最高权限了),请问,这是为什么?怎样才能发广播信息?
但是,我向广播地址(192.168.0.255 或 255.255.255.255)发送时均不成功,返回值为-1,查看errno的值为13,义为权限不够(我是使用root发的,最高权限了),请问,这是为什么?怎样才能发广播信息?
|
setsockopt(sockfd,SOL_Socket,SO_BROADCAST,&on,sizeof(on));