[STM32F1] lwip udp client 端可以发送出去数据,但是无法接收到数据

[复制链接]
 楼主| 云山常客 发表于 2015-10-22 22:01 | 显示全部楼层 |阅读模式
  1. void client_init(void)
  2. {
  3.    struct udp_pcb *upcb;
  4.    struct pbuf *p;

  5.    SET_IP4_ADDR(&ip_udp_server, UDP_SERVER_IP);                              
  6.    /* Create a new UDP control block  */
  7.    upcb = udp_new();   
  8.    p = pbuf_alloc(PBUF_TRANSPORT, sizeof(Sent), PBUF_RAM);
  9.          p->payload = (void*)sm;
  10.         p->len =8;
  11.         p->tot_len = 8;
  12.          upcb->local_port = UDP_CLIENT_PORT;
  13.            /* Bind the upcb to any IP address and the UDP_PORT port*/
  14.    udp_bind(upcb, IP_ADDR_ANY, UDP_CLIENT_PORT);
  15.          udp_connect(upcb, &ip_udp_server, UDP_SERVER_PORT);         
  16.          udp_send(upcb, p);
  17. //  udp_disconnect(upcb);   //毙掉这里,pc端发送来的数据,无法接收,添加上这个语句则可以收到,为什么,求解释?

  18.    udp_recv(upcb, udp_client_callback, NULL);

  19.    /* Free the p buffer */
  20.    pbuf_free(p);
  21.   
  22. }
643757107 发表于 2015-10-22 22:02 | 显示全部楼层
  udp_disconnect(upcb);   //毙掉这里,pc端发送来的数据,无法接收,添加上这个语句则可以收到,为什么,求解释?
要知道UDP是干啥的,然后就是关闭连接。。
 楼主| 云山常客 发表于 2015-10-22 22:28 | 显示全部楼层
643757107 发表于 2015-10-22 22:02
udp_disconnect(upcb);   //毙掉这里,pc端发送来的数据,无法接收,添加上这个语句则可以收到,为什么, ...

?没有明白,能不能深入解释下
309030106 发表于 2015-10-26 22:28 | 显示全部楼层
https://bbs.21ic.com/icview-587585-1-1.html
这里有相似的,楼主看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部