LWIP netconn 组播

LWIP netconn 组播

组播接收 直接上代码

void MulticastRxTask(void *pvParameter)
{ 
 struct netconn *udpconn;
 udpconn = netconn_new(NETCONN_UDP);
 struct ip_addr ipMultiCast;
 IP4_ADDR(&ipMultiCast, 239, 0, 0, 0);
 netconn_bind(udpconn, IP_ADDR_ANY, 5001);
 netconn_join_leave_group(udpconn,&ipMultiCast,IP_ADDR_ANY,NETCONN_JOIN);
 while(1)
 {
  struct netbuf *recebuf;
  netconn_recv(udpconn,&recebuf);
  uint8_t *pData = recebuf->p->payload;
  //pData就是接收到的数据指针
  netbuf_delete(recebuf);
 }
}

组播发送直接调用netconn_sento就可以了,其他部分和普通udp一样

我在调试中发现,组播和其他连接不能共存。例如TCP 一旦TCP连接通了,组播就失效了(直接接收不到消息,或者直接变成任务调度锁死等症状或者由此引发hardfault),如有哪位大神了解,还请指点一下。

上述问题已经解决 原因是其他任务的任务栈设置过小 栈溢出了 覆盖了这个任务的相关部分

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值