这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
|
icore4t_45 [2020/09/26 19:59] zgf [三、 实验原理] |
icore4t_45 [2022/04/01 10:54] (当前版本) sean |
||
|---|---|---|---|
| 行 2: | 行 2: | ||
| |技术支持电话|**0379-69926675-801**||| | |技术支持电话|**0379-69926675-801**||| | ||
| |技术支持邮件|Gingko@vip.163.com||| | |技术支持邮件|Gingko@vip.163.com||| | ||
| - | |技术论坛|http://www.eeschool.org||| | ||
| ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
| | V1.0 | 2020-9-26 | zgf | 初次建立 | | | V1.0 | 2020-9-26 | zgf | 初次建立 | | ||
| 行 174: | 行 173: | ||
| memcpy(eth_tcps.send_buffer,data,len); | memcpy(eth_tcps.send_buffer,data,len); | ||
| es = tpcb->callback_arg; | es = tpcb->callback_arg; | ||
| - | if(es != NULL){ //连接处于空闲可以发送数据 | + | if(es != NULL){ //连接处于空闲可以发送数据 |
| es->p = pbuf_alloc(PBUF_TRANSPORT,len,PBUF_POOL);//申请内存 | es->p = pbuf_alloc(PBUF_TRANSPORT,len,PBUF_POOL);//申请内存 | ||
| - | //将eth_tcps.send_buffer[]中的数据拷贝到es->p_tx中 | + | pbuf_take(es->p,(char*)eth_tcps.send_buffer,len);//将eth_tcps.send_buffer[]中的数据拷贝到es->p_tx中 |
| - | pbuf_take(es->p,(char*)eth_tcps.send_buffer,len); | + | tcp_server_senddata(tpcb,es); //将eth_tcps.send_buffer[]里面复制给pbuf的数据发送出去 |
| - | tcp_server_senddata(tpcb,es); //将eth_tcps.send_buffer[]里面复制给pbuf的数据发送出去 | + | if(es->p)pbuf_free(es->p); //释放内存 |
| - | if(es->p)pbuf_free(es->p); //释放内存 | + | |
| ret_err=ERR_OK; | ret_err=ERR_OK; | ||
| }else{ | }else{ | ||
| - | tcp_abort(tpcb); //终止连接,删除pcb控制块 | + | tcp_abort(tpcb); //终止连接,删除pcb控制块 |
| ret_err=ERR_ABRT; | ret_err=ERR_ABRT; | ||
| } | } | ||