|
发表于 2018-1-19 16:27:05
|
显示全部楼层
请教硬汉哥(@eric2013)一个问题:
我使用lwip 2.0.3(这个原理和RL-TCPnet一样)在ucosIII建立了2个UDP Scoket任务,初始化代码如下:
- server.sin_family = AF_INET;
- server.sin_port = htons( 8888);
- server.sin_addr.s_addr = htonl( INADDR_ANY );
- sock = socket( AF_INET, SOCK_DGRAM, 0 );
- bind( sock, (struct sockaddr *)&server, sizeof( server ) );
复制代码
然后使用recvfrom和sendto接收、发送数据,现在两个任务都可以接收到广播数据,任务1我不想收到广播数据,如何关闭该任务socket的广播接收功能呢?
如果打开下面的宏,两个任务都无法接收广播数据了,但是任务2我还想接收广播数据。难道lwip不能单独设置某个socket的广播功能吗?
- #define IP_SOF_BROADCAST 1//发送广播包过滤(禁止)功能,1使能,0禁止
- #define IP_SOF_BROADCAST_RECV 1//接收广播包过滤(禁止)功能,1使能,0禁止
复制代码
|
|