lwip在window下的udp测试代码

一、创建UDP服务器

struct udp_pcb *udpService;

 udpService = udp_new();
 udp_bind(udpService,IP_ADDR_ANY,1000);  
 udp_recv(udpService,UDP_Receive,NULL); 

//创建UDP服务器,监听端口1000,收到数据后回传给客户端。

void UDP_Receive(void *arg, struct udp_pcb *upcb, struct pbuf *p, struct ip_addr *addr, u16_t port)
{
 struct ip_addr destAddr = *addr;
 if(p != NULL)                        
 {
  udp_sendto(upcb,p,&destAddr,port);                

  pbuf_free(p);                   
 }
}

使用sockettool测试OK

 

二、创建UDP客户端

struct udp_pcb *udpClient;
struct pbuf* p;

 struct ip_addr ipaddr;
 IP4_ADDR(&ipaddr,192,168,1,55);
 p = pbuf_alloc(PBUF_RAM,10,PBUF_RAM);
 p->payload = (void*)"123456";

udpClient = udp_new();
 udp_bind(udpClient,IP_ADDR_ANY,1600);
 udp_connect(udpClient,&ipaddr,6000); 
 udp_recv(udpClient,UDP_Receive,NULL);
 udp_send(udpClient,p);

//创建客户端,接收端口1600,连接到192.168.1.55,调用udp_send后才连接。

 

 

 

 

 

 

你可能感兴趣的:(VC++)