lwIP中的UDP客户端

名人堂再聚首 2013-12-27 05:04:03
大家好,在lwIP的客户端程序中,我在main函数中写了一个UDP客户端的发送程序,但是执行到udp_send(udppcb, p);时就死机了,麻烦大家帮我检测下是什么原因。

if (flag==1)
{
//主动发起一个UDP连接并发送数据
struct udp_pcb *udppcb;//UDP控制块
struct ip_addr ipaddr;//目标IP地址信息
struct pbuf *p;//pbuf对象
unsigned char senddata[34]={0x7E,0x86,0xF4,0x9D,0x10,0x04,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2B,0x02,0x0D};

//客户端发送数据
p = pbuf_alloc(PBUF_TRANSPORT ,sizeof(senddata), PBUF_RAM);//为pbuf开辟内存空间
p->payload = (void *)senddata;
p->len=p->tot_len=sizeof(senddata);
IP4_ADDR(&ipaddr, 192, 168, 182, 43);
udppcb = udp_new();
udp_bind(udppcb, IP_ADDR_ANY, 160);//绑定本地IP地址和端口
udp_connect(udppcb, &ipaddr, 60000);//连接到远程UDP主机
udp_send(udppcb, p);//发送数据
//udp_recv(udppcb, NULL, NULL);
pbuf_free(p);//销毁pbuf对象释放资源
flag=0;//清除标志位
}
...全文
327 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsj512 2014-07-03
  • 打赏
  • 举报
回复
楼主怎么回事?我也遇到了这问题
名人堂再聚首 2013-12-29
  • 打赏
  • 举报
回复
引用 2 楼 BobMarley 的回复:
http://wenku.baidu.com/link?url=Qi6fiAZhJW6k3xp-rwC68Nyb9lX6j_2EfWYFCwUsDGXf_IWJE7uvuG_GUui46viqmCCwRyAZP-pS2avZ_4ZUH8VgQ5eZJ9LGikrNm0FsvCG
谢谢你,问题已经搞定了,你发给我的这篇文件我之前有看过的,是我的程序问题,不是lwIP的问题,结贴了。
BobMarley 2013-12-28
  • 打赏
  • 举报
回复
bind绑定的对不对。抓包工具看一下,看p数据包是否发送出去。 要不试试udp_sendto, 记得有个文档,我找下

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧