我们知道, tcp的建立和拆除需要经历三次握手和四次挥手, 那么当客户端与服务器建立了tcp连接之后,突然断掉网线或者掉电, 两侧的tcp状态会有什么变化呢?
对于不了解tcp的人, 肯能会直接说: 能检测。
我曾经给出了一个貌似正确的答案: 不能检测。
实际上, 上面两个回答都不全面。 我到后来才意识到, 这个问题是比较复杂的, 要区分具体的场景和具体的网络连接类型。 鉴于之前博文的考虑太过简略, 所以, 我去掉了之前博文中有缺陷的结论, 并在后续博文中进行详细介绍, 如下:
题目:心跳机制tcp keepalive的讨论、应用及“断网”、"断电"检测的C代码实现(Windows环境下)
博文地址:http://blog.csdn.net/stpeace/article/details/44162349
敬请关注!