OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4398|回复: 4

使用LWIP进行UDP通信时,为什么PORT无法固定?

[复制链接]

3

主题

7

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-5-24
在线时间
6 小时
发表于 2016-5-24 14:26:14 | 显示全部楼层 |阅读模式
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ê&#199CμÄ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]
截图01.jpg

最佳答案

查看完整内容[请看2#楼]

每重连一次,都会生成一个新的端口。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-5-24 14:26:15 | 显示全部楼层
每重连一次,都会生成一个新的端口。
回复

使用道具 举报

12

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2015-4-21
在线时间
102 小时
发表于 2016-5-24 17:27:47 | 显示全部楼层
你绑定的是远端端口,不是板子的端口
回复

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-5-24
在线时间
6 小时
 楼主| 发表于 2016-5-25 16:44:53 | 显示全部楼层
weilong1370 发表于 2016-5-24 17:27
你绑定的是远端端口,不是板子的端口

本地端口和远端端口都绑定了的,从代码中可以看到
回复

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-5-24
在线时间
6 小时
 楼主| 发表于 2016-5-27 09:33:14 | 显示全部楼层
正点原子 发表于 2016-5-25 20:05
每重连一次,都会生成一个新的端口。

已经解决,谢谢原子哥~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 21:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表