野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13741|回复: 3

求助LWIP协议问题

[复制链接]
发表于 2017-4-1 08:47:50 | 显示全部楼层 |阅读模式
static void tcp_echoclient_send(struct tcp_pcb *tpcb, struct echoclient * es)
{
  struct pbuf *ptr;
  err_t wr_err = ERR_OK;

  while ((wr_err == ERR_OK) &&
         (es->p_tx != NULL) &&
         (es->p_tx->len <= tcp_sndbuf(tpcb)))
  {
   
    /* get pointer on pbuf from es structure */
    ptr = es->p_tx;

    /* enqueue data for transmission */
    wr_err = tcp_write(tpcb, ptr->payload, ptr->len, 1);
   
    if (wr_err == ERR_OK)
    {
      /* continue with next pbuf in chain (if any) */
      es->p_tx = ptr->next;
      
      if(es->p_tx != NULL)
      {
        /* increment reference count for es->p */
        pbuf_ref(es->p_tx);
      }
      
      /* free pbuf: will free pbufs up to es->p (because es->p has a reference count > 0) */
      pbuf_free(ptr);
   }
   else if(wr_err == ERR_MEM)
   {
      /* we are low on memory, try later, defer to poll */
     es->p_tx = ptr;
   }
   else
   {         
     /* other problem ?? */
   }
  }
}
我想知道这个函数怎么用,
参数的结构体太多了,求助
有没有示例代码啊

回复

使用道具 举报

发表于 2017-4-1 08:54:29 | 显示全部楼层
这个函数的开头有没有函数的说明 ?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-1 08:59:50 | 显示全部楼层
fire 发表于 2017-4-1 08:54
这个函数的开头有没有函数的说明 ?

  * @brief function used to send data
  * @param  tpcb: tcp control block
  * @param  es: pointer on structure of type echoclient containing info on data
  *             to be sent

最主要这个说明,更是懵逼了。
tpcb: tcp control block这个参数怎么组
那个结构体有点大啊。
回复 支持 反对

使用道具 举报

发表于 2017-4-1 09:26:04 | 显示全部楼层
z884067771 发表于 2017-4-1 08:59
* @brief function used to send data
  * @param  tpcb: tcp control block
  * @param  es: pointe ...

定义成全局变量咯
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-15 18:26 , Processed in 0.035937 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表