27,374
社区成员
发帖
与我相关
我的任务
分享
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;//清除标志位
}