wuwei1981
驱动牛犊
驱动牛犊
  • 注册日期2007-07-10
  • 最后登录2008-10-31
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望6点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:3012回复:0

救命!!请教关于vxworks下UDP发广播的问题

楼主#
更多 发布于:2008-01-12 17:28
我用以下方法在vxworks从A向B发送广播不成功.
假设某端口socket_A已经初始化.绑定到IP192.168.0.1
先打开广播
int optval=1;
int optvallen=sizeof(optval);
setsocketopt(socket_A, SOL_SOCKET, SO_BROADCAST, (char*)&optval, optvallen);
B的IP为192.168.0.2
sendto()中我的目标IP地址如果写B的IP
sendip.sin_addr.s_addr=htonl(0xC0A80102);可以发送成功,B也可以接收到A的消息.
写广播地址如:
sendip.sin_addr.s_addr=htonl(0xC0A801FF);或
sendip.sin_addr.s_addr=htonl(INADDR_BROADCAST);
则发送失败(A显示发送成功,但B无法收到A的消息),为什么为什么?


注:我用VC写的程序,也向样实现以上算法.
广播地址写成:
sendip.sin_addr.s_addr=htonl(0xC0A801FF);
就可以发送成功,vxworks就不行,为什么?

说明(A是vxworks B是VC程序)
游客

返回顶部