最近在看关于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 
 
看来看去,没有看懂,不知道我有没有表述清楚 
 
望高手指点! |