TCP close_wait内幕

最近调试时遇到一个tcp连接 一发交易server端就从es连接状态变成close_wait状态的问题。

tcp连接需要三次握手,而被动关闭连接则是需要四次握手的,不能说单方面关闭连接就是成功关闭连接了。

首先我们要搞清楚close_wait出现的机制和原理。

close_wait状态其实client端和server端都有可能出现.

我们先看其他博客对close_wait解释.

他的情况是client端为close_wait状态.

由此可见,server端出现close_wait状态的原因是因为client端主动关闭连接,server端被动关闭连接,因为某些原因,关闭连接的机制进行了一半就停止了。

按照这种分析我们项目是因为client端因为什么进行了关闭连接。最后发现是再发送数据时,因为代码原因,流的长度并未添加,只发送了流的内容。那么这为什么会导致我们client端去关闭连接呢。。。(尴尬) 我主要时想分享这位博主的关于tcp状态的分析。

tcp内幕博客

http://www.360doc.com/content/17/0113/16/33093582_622231912.shtml

猜你喜欢

转载自blog.csdn.net/java_xth/article/details/85678205
今日推荐