STM32F437,裸机移植LWIP

2019-07-20 04:05发布

我是lwip小白,遇到问题,希望得到您的帮助。
F437裸机,创建两个TCP客户端。两个服务端通过上层软件实现。一个服务端与客户端正常连接,另一个服务端与客户端连接上之后,主动关闭连接。F437中10s检测连接状态,因为一个服务端主动断开连接,F437就会10s创建一次TCP客户端。等待3-4小时左右,进入err_t
tcp_enqueue_flags(struct tcp_pcb *pcb, u8_t flags) 函数中的 /* Allocate pbuf with room for TCP header + options */  if ((p = pbuf_alloc(PBUF_TRANSPORT, optlen, PBUF_RAM)) == NULL) {
    pcb->flags |= TF_NAGLEMEMERR;
    TCP_STATS_INC(tcp.memerr);
    return ERR_MEM;
  }
所以该函数 tcp_connect(pTcpPcb, &RemoteIPAddr, m_TcpClientAppInfo[Index].ServerPort, TCP_ClientConnected); 中TCP_ClientConnected不可正常进行。
请问是我内存没清理好吗?期待你的回答。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
HCHDaLeiGe
1楼-- · 2019-07-20 05:26
服务器端主动关闭时,确认客户端一侧 PBUF_RAM 是否有内存未释放
正点原子
2楼-- · 2019-07-20 07:05
 精彩回答 2  元偷偷看……
路人曦
3楼-- · 2019-07-20 09:38
我Lwip做的是个半吊子...我就不瞎叨叨程序的事儿了,嵌入式网络LWIP这块,你可以参考老衲五木的那本嵌入式网络那些事儿,或者去他博客看看,有很多很直接的例子跟说明,你可以搜一下
wanna丶
4楼-- · 2019-07-20 13:35
wanna丶
5楼-- · 2019-07-20 17:26
 精彩回答 2  元偷偷看……
wanna丶
6楼-- · 2019-07-20 19:08
路人曦 发表于 2019-1-16 14:28
我Lwip做的是个半吊子...我就不瞎叨叨程序的事儿了,嵌入式网络LWIP这块,你可以参考老衲五木的那本嵌入式 ...

谢谢您的回帖

一周热门 更多>