新手上路
- 积分
- 29
- 金钱
- 29
- 注册时间
- 2016-5-24
- 在线时间
- 6 小时
|
1金钱
明明绑定了PORT,可是为啥端口不能固定,而且不断++呢?[mw_shl_code=c,true]void UDP_init(void)
{
err_t err;
struct udp_pcb *UDPpcb;
unsigned port = 1024;
/* create a new UDP PCB structure */
UDPpcb = udp_new();
if (UDPpcb)
{
/* Bind this PCB to port 69 */
err = udp_bind(UDPpcb, IP_ADDR_ANY, port);
if (err == ERR_OK)
{
/* TFTP server start */
udp_recv(UDPpcb, UDP_Receive, NULL);
}
}
}
void udp_send_data(uint8_t* pData ,u16 len)
{
struct udp_pcb *upcb;
struct pbuf* buff;
struct ip_addr ipaddr; //Ä¿μÄIPμØÖ·
err_t err;
buff = pbuf_alloc(PBUF_TRANSPORT, len+10, PBUF_RAM); //PBUF_POOL
buff->payload = pData;
buff->len = len;
buff->tot_len = len;
upcb = udp_new();//½¨á¢ò»¸öDÂμÄUDP°ü
udp_bind(upcb, IP_ADDR_ANY, 1024);
IP4_ADDR(&ipaddr,192,168,0,1); //ÇD¼Ç£¬′Ë′|μÄIPêÇCμÄIP
err = udp_connect(upcb, &ipaddr, 8899); //PCμĶ˿ú
if(err == ERR_OK)
{
err = udp_send(upcb, buff);
}
udp_disconnect(upcb);
pbuf_free(buff);
udp_remove(upcb);
}
[/mw_shl_code]
|
-
|