这是我的发送程序: int mytest(char clen,char cbuf[],char cip[],u16 cport) {
struct pbuf *buf;
struct udp_pcb *pcb;
struct ip_addr remoteip;
struct ip_addr localip;
// struct netconn conn;
int i;
buf = pbuf_alloc(PBUF_TRANSPORT,clen,PBUF_RAM);
buf->payload = (void *)cbuf;
buf->len = buf->tot_len =clen;
IP4_ADDR(&remoteip,cip[0],cip[1],cip[2],cip[3]);
//netconn_addr(&conn,&localip,0);
pcb = udp_new();
//udp_bind(pcb,&remoteip,cport);
udp_connect(pcb,&remoteip,cport);
//for(i=0;i<20;i++)
//{
udp_send(pcb, buf);
// Delay(500);
//}
// udp_sendto(pcb, buf,remoteip,cport);
// if ( ERR_IS_FATAL(err) )
// {
// udp_disconnect(pcb);
// return 1;
// }
udp_disconnect(pcb);
//udp_bind(pcb,IP_ADDR_ANY,cport);
pbuf_free(buf);
// else return 0;
}
每次程序走到 udp_send(pcb, buf);的时候执行这句的时候就死机了,发送了一个数据出去了, 请高手指导!小弟拜谢! |