关于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条回答
ultrabenz
2019-03-25 01:28
< :TI_MSP430_内容页_SA7 --> 这里IP_ADDR_ANY宏定义使用后,你本机的IP地址是由网络初始化时分配的IP决定的。你初始化的时候应该设置了本机IP地址吧?如果是静态IP的话,你调用netif_add函数添加一个netif结构体变量时,就定义了本机的IPaddr,Mask和Gateway。如果是动态IP的话,请遵医嘱,我没用过,哈哈!

一周热门 更多>

相关问题

    相关文章