应用LWIP协议栈进行TCP通讯编程时,可能会遇到内存泄露问题:
原因:
在inbuf = netconn_recv(conn) 函数中有一个申请内存的操作:
buf = memp_malloc(MEMP_NETBUF)
在调用完netconn_recv函数之后需要将内存释放,否则TCP通讯会发生故障退出。
解决方法:
在函数 netconn_close(conn)之后增加一个释放内存的函数 netbuf_delete(inbuf)来释放inbuf 。
这样就可以反复接收数据,不停刷新了!