omichael007 发表于 2012-2-17 11:16:55

请教:RTT+LWIP 下的 UDP 能使用 广播功能么?

使用BSD socket写了个UDP 服务器,用SOCKET 调试工具软件:SocketTool调试工具V2.3 。 问题:点对点可以收发 但无法接收广播数据
rt_uint8_t optval =1;
/* 设置允许接收和发送广播信号*/
setsockopt(sock, SOL_SOCKET,SO_BROADCAST,(const char*)&optval ,sizeof(optval));   (本行代码位置在建立 socket之后)。
并且在“lwip/opt.h”中 设置 #define IP_SOF_BROADCAST   1; #define IP_SOF_BROADCAST_RECV   1;

求解答,谢谢~

aozima 发表于 2012-2-18 14:49:40

目标地址为 255.255.255.255 的广播可以接收。

其它的要改代码。 LWIP默认过滤了,所有多播包(除广播外)。(广播是多播的一个特例)
可以参考 LWIP 1.4 添加针对特定端口的放行。

19001579 发表于 2012-2-18 23:18:48

目标地址为 255.255.255.255 交换机或路由就会全网发送。不会只发给某一个机器。

aozima 发表于 2012-2-18 23:34:33

回复【2楼】19001579蓝色
-----------------------------------------------------------------------
打开UPNP看搜索时目标地址是多少。

vtte 发表于 2013-5-7 14:15:40

遇到同样问题了,不知楼主解决了没有   可以收发点对点包,也可以发广播包,就是收不了广播包和组播包
页: [1]
查看完整版本: 请教:RTT+LWIP 下的 UDP 能使用 广播功能么?