LWIP无炒作系统的TCP Client怎样不通过回调函数发送数据

2019-07-20 23:53发布

各位大神,小弟现在在学习LWIP,发现原子的例程都是基于回调函数发送数据的,有没有办法不通过回调函数,自己编写发送函数发送数据呢,就像串口操作发送数据那样。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
Polychromatic
1楼-- · 2019-07-21 03:32
        struct tcp_client_struct *es;
        es->p=pbuf_alloc(PBUF_TRANSPORT, strlen((char*)tcp_client_sendbuf),PBUF_POOL);        //申请内存
        pbuf_take(es->p,(char*)tcp_client_sendbuf,strlen((char*)tcp_client_sendbuf));        //将tcp_client_sentbuf[]中的数据拷贝到es->p_tx中
        tcp_client_senddata(tpcb,es);//将tcp_client_sentbuf[]里面复制给pbuf的数据发送出去
        if(es->p)pbuf_free(es->p);        //释放内存

发数据主要是通过  tcp_client_senddata(tpcb,es);
如何发自己的数据? 就是通过  pbuf_take(es->p,(char*)tcp_client_sendbuf,strlen((char*)tcp_client_sendbuf)); 将用户数据拷贝到TCP块的 payload区,
里面 tcp_client_sendbuf 就是自己的数据,长度就是tcp_client_sendbuf长度。

一周热门 更多>