中级会员
- 积分
- 348
- 金钱
- 348
- 注册时间
- 2014-8-31
- 在线时间
- 43 小时
|
10金钱
我使用lwip 2.0.3在ucosIII建立了2个UDP Scoket任务,初始化代码如下:
[mw_shl_code=applescript,true] 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 ) ); [/mw_shl_code]
然后使用recvfrom和sendto接收,发送数据,现在两个任务都可以接收到广播数据,但是任务1不想收到广播数据,如何关闭该任务socket的广播接收功能呢?
如果打开下面的宏,两个任务都无法接收广播数据了,但是任务2我还想接收广播数据。难道lwip不能单独设置某个socket的广播功能吗?
[mw_shl_code=applescript,true]#define IP_SOF_BROADCAST 1//发送广播包过滤(禁止)功能,1使能,0禁止
#define IP_SOF_BROADCAST_RECV 1//接收广播包过滤(禁止)功能,1使能,0禁止[/mw_shl_code]
|
|