日期:2014-05-16  浏览次数:20743 次

udp的广播发送和接收怎么做?
linux下udp的广播发送和接收怎么做?
linux新手求教

------解决方案--------------------
发送端往广播地址发就好了,接受端不需要做什么特殊处理
------解决方案--------------------
引用:
Quote: 引用:


    ssize_t  sendto(int  s,  const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen);
可否明示啊?不太了解,上面是我的代码,不知道哪里出错了?


1 端口号改大一点 
2 sendto最后一个参数 socklen_t 类型, 你最好加一个此类型的临时变量

------解决方案--------------------
估计是你的路由器给拦截了,局域网内拒绝了你的危险包。
------解决方案--------------------
引用:
自己试了下,如果把广播地址改为同网段的子网广播地址,就可以了,比如本机192.168.1.211,那么广播地址就为192.168.1.255
255.255.255.255用于主机配置过程中IP数据报的目的地址。任何情况下,路由器都不会转发数据报的,你可以用192.168.255.255或192.168.1.255