关于LM3S的LWIP应用,绑定地址时的IP_ADDR_ANY问题

2019-03-24 13:27发布

最近在看关于LWIP的应用,做了几个实验,都是周立功的例程,UDP和TCP的都做过了,没问题。
但是关于程序里面的IP地址绑定,一直有个疑惑

下面是宏定义的:
#define My_Mac_ID  {0X00,0x14,0x97,0x0F,0x1D,0xE3}  //存储以太网控制器的物理地址,即MAC地址
#define IP_MARK_ID  {255,255,255,0}            //255.255.255.0,子网掩码
#define MY_IP_ID        {192,168,1,25}                   //以太网通信的IP地址
#define MY_GATEWAY_ID   {192,168,1,254}                  //以太网通信的网关地址

但为什么绑定的时候是:
tcp_bind(Clipcb,IP_ADDR_ANY,1026);       // 绑定本地IP地址和端口号

udp_bind(UdpPcb,IP_ADDR_ANY,1025);   /* 绑定本地IP地址 */

为什么绑定本地IP的时候,用到的都是IP_ADDR_ANY呢?

下面是一些关于 IP_ADDR_ANY的定义:
#define IP_ADDR_ANY         ((struct ip_addr *)&ip_addr_any)

const struct ip_addr ip_addr_any = { IP_ADDR_ANY_VALUE };

#define IP_ADDR_ANY_VALUE 0x00000000UL

看来看去,没有看懂,不知道我有没有表述清楚

望高手指点! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Study_Stellaris
1楼-- · 2019-03-24 20:12
 精彩回答 2  元偷偷看……
ultrabenz
2楼-- · 2019-03-25 01:28
< :TI_MSP430_内容页_SA7 --> 这里IP_ADDR_ANY宏定义使用后,你本机的IP地址是由网络初始化时分配的IP决定的。你初始化的时候应该设置了本机IP地址吧?如果是静态IP的话,你调用netif_add函数添加一个netif结构体变量时,就定义了本机的IPaddr,Mask和Gateway。如果是动态IP的话,请遵医嘱,我没用过,哈哈!
xuhe1206
3楼-- · 2019-03-25 04:18
哦,我用的是静态IP的

一周热门 更多>

相关问题

    相关文章