中级会员
 
- 积分
- 451
- 金钱
- 451
- 注册时间
- 2013-5-23
- 在线时间
- 46 小时
|
1金钱
本帖最后由 yangzi6000 于 2016-11-21 16:02 编辑
移植原子哥 F407 LWIP RAW程序,用回调方式处理发送和接收,另外1s发送一次数据包,服务器上接收平均2-3秒才接一个数据包,本应该收到2-3个数据包的,但是也没丢数据包,就好像所有数据包都延时了一样,这个是怎么回事,反而接收部分一点问题都没有,发的很快也能接收到
err_t tcp_client_connected(void *arg, struct tcp_pcb *tpcb, err_t err)
{
struct tcp_client_struct *es=NULL;
if(err==ERR_OK)
{
es=(struct tcp_client_struct*)mem_malloc(sizeof(struct tcp_client_struct)); //éêÇëÄú′æ
if(es) //Äú′æéêÇë3é1|
{
es->state=ES_TCPCLIENT_CONNECTED;
es->pcb=tpcb;
es->p=NULL;
tcp_arg(tpcb,es);
tcp_recv(tpcb,tcp_client_recv);
tcp_err(tpcb,tcp_client_error);
tcp_sent(tpcb,tcp_client_sent);
tcp_poll(tpcb,tcp_client_poll,1);
tcp_client_flag|=1<<5;
err=ERR_OK;
}else
{
tcp_client_connection_close(tpcb,es);
err=ERR_MEM;
}
}else
{
tcp_client_connection_close(tpcb,0);//1رÕᬽó
}
return err;
}
|
|