打印
[STM32F1]

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

[复制链接]
2088|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
云山常客|  楼主 | 2015-10-22 22:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void client_init(void)
{
   struct udp_pcb *upcb;
   struct pbuf *p;

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

   udp_recv(upcb, udp_client_callback, NULL);

   /* Free the p buffer */
   pbuf_free(p);
  
}
沙发
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

粉丝