你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

UDP client 端能发送,但是无法接到数据(跳不到接受回调...

[复制链接]
fan-347685 发布时间:2015-8-10 11:00
UDP client 端能发送出去,但是无法接到数据(跳不到接受回调函数),,帮看看什么问题,各位????是神州的开发板源码,,不知道为什么无法接受到数据
#define UDP_SERVER_PORT      8006
#define UDP_CLIENT_PORT      4
#define TCP_PORT      4
#define UDP_CLIENT_IP                                255,255,255,255


void client_init(void)
{
   struct udp_pcb *upcb;
   struct pbuf *p;
                             
   /* Create a new UDP control block  */
   upcb = udp_new();   
         SET_IP4_ADDR(&ip_udp_server,UDP_CLIENT_IP);
         p = pbuf_alloc(PBUF_TRANSPORT, sizeof(Sent), PBUF_RAM);
         p->payload = (void*)Sent;

         udp_bind(upcb, IP_ADDR_ANY, 4);
         udp_connect(upcb, &ip_udp_server, UDP_SERVER_PORT);         
         udp_send(upcb, p);
        udp_recv(upcb, udp_client_callback, NULL);

        /* Free the p buffer */
        pbuf_free(p);
}

void udp_client_callback(void *arg, struct udp_pcb *upcb, struct pbuf *p, struct ip_addr *addr, u16_t port)
{
  struct tcp_pcb *pcb;
  __IO uint8_t iptab[4];
  uint8_t iptxt[20];
  /* Create a new TCP control block  */
  pcb = tcp_new();

  /* Assign to the new pcb a local IP address and a port number */
  tcp_bind(pcb, IP_ADDR_ANY, TCP_PORT);

  /* Connect to the server: send the SYN */
  tcp_connect(pcb, addr, TCP_PORT, tcp_client_connected);

  /* Free the p buffer */
  pbuf_free(p);
}


udp server端

udp server端
收藏 评论3 发布时间:2015-8-10 11:00

举报

3个回答
JackieLaura 回答时间:2015-8-10 11:33:51
客户端IP是不是有问题啊。。。
stary666 回答时间:2015-8-10 14:18:39
看看,,,,,,,,,,,,
fan-347685 回答时间:2015-8-10 17:59:06
JackieLaura 发表于 2015-8-10 11:33
客户端IP是不是有问题啊。。。

  tcp_bind(pcb, IP_ADDR_ANY, TCP_PORT);你是不是指,绑定的本地IP_ADDR_SNY地址有问题?

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版