UCOSII下用lwip建立了2个UDP socket任务,一个不接收广播数据,一个只接收广播数据,如何实现这样的要求呢

tsummer2010 2018-01-18 10:04:07
如题:
我使用lwip 2.0.3在UCOSII上建立了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禁止
...全文
641 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

27,370

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧