打印

udp发数据发不出去

[复制链接]
3990|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Stephen_yu|  楼主 | 2013-2-21 14:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
udp, PCB, pc, UPC, AD
前段时间买了STM32F407的开发板和网卡模块,
我的要求是不需要接收数据,仅仅想发送一组数据,比如“helloworld”,但是总是行不通,贴下我的代码
unsigned char udp_data[]= "hello world!";

void udp_send_data()
{
   struct udp_pcb *upcb;
   struct pbuf* buff;
   struct ip_addr ipaddr;
   err_t err;
  
   buff = pbuf_alloc(PBUF_TRANSPORT, 1024, PBUF_ROM);
  buff->payload = udp_data;
  buff->len = sizeof(udp_data);
  buff->tot_len = sizeof(udp_data);;
   upcb = udp_new();
   udp_bind(upcb, IP_ADDR_ANY, 7);
   IP4_ADDR(&ipaddr, 192, 168, 1, 10);
   
  
     err = udp_connect(upcb, &ipaddr, 7);
    if(err == ERR_OK)
    {
       err = udp_send(upcb, buff);
      if(ERR_IS_FATAL(err))
        printf("udp_send...%d\r\n",err);
    }
      
   udp_disconnect(upcb);
   pbuf_free(buff);
   udp_remove(upcb);
}


将main函数的udp_echoserver_init 函数注释掉
在while(1)里添加udp_send_data()函数
为什么使用网络截包工具就是收不到发出去的数据呢?
请遇到此问题的朋友给点提示,谢谢
沙发
Stephen_yu|  楼主 | 2013-2-21 15:16 | 只看该作者
已解决

使用特权

评论回复
板凳
logokfu| | 2013-2-22 00:27 | 只看该作者
怎么解决的

使用特权

评论回复
地板
Stephen_yu|  楼主 | 2013-3-4 22:27 | 只看该作者
IP4_ADDR(&ipaddr, 192, 168, 1, 10); 这个地址设置错了,设置成PC端的IP地址就对了

使用特权

评论回复
5
ccrbs| | 2013-7-26 09:56 | 只看该作者
用你的这个函数,还是发不出去。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝