paxtony 发表于 2012-8-14 11:45:32

lwip外网长时间运行好死机

lwip在局域网下运行没有问题,但在外网访问的情况下运行3-10天左右就会web无法访问。查看内存使用情况发现是有些内存没有释放。有谁遇到过类似的问题吗?

paxtony 发表于 2012-9-18 15:47:23

没人回答只好我自己回答了,很多现象可以造成这个问题。最根本的还是内存不够大。造成TCP PCB不释放的原因有:1、外网发送的TCP RST包没有被转发到lwip(这个问题咨询过路由器的厂家,没有给出明确答复),从而导致lwip认为数据丢失,重复发送数据(do_write函数发送死循环),而这样又导致此tcp pcb占用系统内存等资源,2. 外网发送完三次握手后没有数据传输就发送FIN,造成应用层没有办法关闭此PCB,从而tcp停留在CLOSE_TIME状态不释放。3. (这个跟应用程序有关)外网快速发送多个连接,导致系统处理不过来从而造成有部分连接停留在ESTABLISHED状态(对于lwip来说,其实对外网已经关闭了)。
不知道还有没有其他原因,测试中……

jackiezeng 发表于 2012-9-18 15:50:31

这些网络上的玩意,还真很难找原因,

只能帮顶了。

hygs 发表于 2012-9-18 15:53:32

学习了,谢谢楼主

xingliu 发表于 2012-9-18 16:24:21

这个mark下。LWIP正要用。

csuwu_qi 发表于 2013-1-13 14:01:26

楼主威武!我也有同样问题,希望能解决!

myqiang1990 发表于 2013-1-13 15:53:09

楼主,能不能介绍一下LWIP如何通过外网访问?比如我客户在北京,我在广西,我怎么在广西访问到北京的设备?
页: [1]
查看完整版本: lwip外网长时间运行好死机