一、创建UDP服务器
struct uip_udp_conn *conn = 0;
uip_ipaddr_t ipaddr;
uip_ipaddr(ipaddr, 255,255,255,255);
conn = uip_udp_new(&ipaddr, HTONS(UDP_CLIENT));
if(conn != 0) {
uip_udp_bind(conn, HTONS(UDP_SERVERPORT));
}
//收发数据
void uip_udp_appcall()
{
switch (HTONS(uip_udp_conn->rport))
{
case UDP_CLIENT:
if (uip_newdata())
{
int i = 0;
char* pData = (char*)uip_appdata;
for(i=0;i<uip_len;i++)
{
printf("%c",pData[i]);
}
printf("\n");
uip_send("call return",11);
}
break;
}
}
测试结果:
uip_udp_new第一个参数如果不是广播地址,则只处理指定IP的数据包。
第二个参数为0,客户端收不到数据。
二、创建UDP客户端