[转]TCP三次握手原理及故障排查
最近碰到一个问题,Client 端连接服务器总是抛异常。在反复定位分析、并查阅各种资料搞懂后,我发现并没有文章能把这两个队列以及怎么观察他们的指标说清楚。 因此写下这篇文章,希望借此能把这个问题说清楚。欢迎大家一起交流探讨。 1. 问题描述 场景:Java 的 Client 和 Server,使用 Socket 通信。Server 使用 NIO。 问题: 间歇性出现 Client 向 Server 建立连接三次握手已经完成,但 Server 的 Selector 没有响应到该连接。 出问题的时间点,会同时有很多连接出现这个问题。 Selector 没有销毁重建,一直用的都是一个。 程序刚启动的时候必会出现一些,之后会间歇性出现。 2.