lwip求救

2019-03-24 15:56发布

LM3S6965 移植的无操作系统的lwip协议栈,做客户端用,接收到上层tcp助手发送tcp命令到单片机对sd卡进行操作,将文件信息读取通过tcp发送回上层tcp助手,为什么tcp连接不稳定,一会儿就断开,ping不通了,而直接就是通过tcp发送信息给上层就不会断呢,向各位大侠求解void TCP_Client_Init(void){ 
  IP4_ADDR(&ipaddr,192,168,1,100);    Clipcb = tcp_new();                       // 建立通信的TCP控制块(Clipcb)     tcp_bind(Clipcb,IP_ADDR_ANY,1026);       // 绑定本地IP地址和端口号    tcp_connect(Clipcb,&ipaddr,1026,TcpCli_Connected);      tcp_recv(Clipcb,tcp_Client_recv);
   } 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
taosui720
1楼-- · 2019-03-24 22:20
static err_t tcp_Client_recv(void *arg, struct tcp_pcb *pcb,struct pbuf *p,err_t err){ //unsigned int len;
char RecivePcBuf[1024];



strncpy(RecivePcBuf,p->payload,p->len); RecivePcBuf[p->len]='';

tcp_recved (pcb,p->len); if(p != NULL) {// tcp_write(pcb,p->payload,p->len,0); deal_rpcdata_new(RecivePcBuf,p->len,pcb); pbuf_free(p); /* 释放该TCP段 */ tcp_recved (pcb,p->len); }  else { tcp_write(pcb,"empty command! ",strlen("empty command! "),0); }  // tcp_close(pcb); /* 关闭这个连接 */ err = ERR_OK; return err;}

taosui720
2楼-- · 2019-03-25 03:11
 精彩回答 2  元偷偷看……
taosui720
3楼-- · 2019-03-25 06:12
帖子要沉了,没有哪位大侠遇到这种情况吗

一周热门 更多>

相关问题

    相关文章