lwip可以用于发udp_LWIPUDP一对多

最近在STM32F767的开发板上移植了LWIP UDP的代码,开发板的资料里面有介绍LWIP移植的文档,介绍了几种网络通信方式,如TCP server,TCP client,UDP,按照文档里面的介绍也很容易实现。这里我选择的是基于ucos2操作系统的UDP网络通信。 开发板给的demo里面是一对一的模式,2块板子间建立UDP链接,进行网络数据传输。如下图所示:

现在项目需要实现一对多,就是1个host做主机,通过UDP方式连接多个slave,主机的IP地址固定,但slave们的IP地址只有slave本身知道,host不知道各个salve的IP地址,连接方式如下图:

对于,一对一的UDP连接,demo里面给的驱动代码很简单,主要就是几个接口函数。lwip的初始化,还有就是UDP的线程函数。为了方便阅读代码里面省略好多代码,只显示了主要的几个函数。

lwip_comm_init()lwip的初始化

//udp 任务函数

static void udp_thread(void *arg)

{

/* 1. 创建UDP结构,并绑定本地IP地址及端口号 */

udpconn = netconn_new(NETCONN_UDP); //创建一个 UDP 链接

err = netconn_bind(udpconn,IP_ADDR_ANY,UDP_DEMO_PORT);//绑定本地IP地址和端口号

/* 2. 将UDP结构与远端IP地址及端口号进行连接 */<

你可能感兴趣的:(lwip可以用于发udp)