lwip和socket编程入门
http://www.nongnu.org/lwip/2_1_x/index.html
https://beej.us/guide/bgnet/html/
问题: 如果tcp连接过程中网断了(网线拔出/路由器断电)怎么办?
回答: 参考https://stackoverflow.com/questions/14782143/linux-socket-how-to-detect-disconnected-network-in-a-client-program
总的来说, socket中的send
和recv
都不会关心网是不是断了. 正如前述参考回答中所说, tcp send只有在tcp连接没有正确建立或者缓冲溢出的时候才会明确报错, 否则它只会不断重试, 在linux上重试时间可能长达5分钟. 同样,recv
如果不设置超时, 就会一直等待, 它也不知道网断了.