初级会员

- 积分
- 57
- 金钱
- 57
- 注册时间
- 2023-3-24
- 在线时间
- 6 小时
|
1金钱
struct pbuf *ptr;
u16 plen;
err_t wr_err=ERR_OK;
while((wr_err==ERR_OK)&&es->p&&(es->p->len<=tcp_sndbuf(tpcb)))
{
ptr=es->p;
wr_err=tcp_write(tpcb,ptr->payload,ptr->len,1); //将要发送的数据加入发送缓冲队列中
if(wr_err==ERR_OK)
{
plen=ptr->len;
es->p=ptr->next; //指向下一个pbuf
if(es->p)pbuf_ref(es->p); //pbuf的ref加一
pbuf_free(ptr);
tcp_recved(tpcb,plen); //更新tcp窗口大小
}
else if(wr_err==ERR_MEM)
es->p=ptr;
tcp_output(tpcb); //将发送缓冲队列中的数据发送出去
// delay_ms(1);
}
|
|