TM4C129X使用lwip的tcp client通过路由器连接远程服务器,已经连接成功。如果服务器端主动断开连接,设备会在recv函数中收到的pbuf为NULL,这时我会先close pcb,然后重新tcp_new(),并tcp_connect。接着会进入poll()里,在这里重新tcp_connect。这之后就会出错进入到error()错误处理函数,错误号是ERR_RST(-11)。这时该怎么错误处理?再重新tcp_new(),并tcp_connect,又会进error()函数里,错误号还是ERR_RST。这样反复19次后(瞬间重复执行19次),又进入到poll函数里,重新尝试连接,不再报ERR_RST的错误,如果此时服务器启动监听。设备要1分多钟后才能连上服务器。
同样的代码,用client访问内网服务器(比如设备网线直连电脑),就没有问题,不会报ERR_RST这种错误。是不是对这种错误的处理方法不对?
xyz549040622:
没有搞过以太网,支持下。