问题
在测试语音识别项目上,发现客户端频繁出现于服务通信端口连接出现Close wait及Time Wait情况,是滴,这两个我都很幸运的碰到了。
思路
客户端与服务端建立连接,实时传输数据,并随之关闭,正儿八百的一次tcp连接过程。最快的办法,抓包分析.
结果分析
图中可以看到,一次tcp连接的建立及销毁过程.问题也很明显,挥手断开连接时候,由服务端发起的断开连接fin包没有得到客户端ack.而服务端收到了客户端的断开请求并回应ack包正确断开,客户端请求断开连接fin包却进行了一次虚假重传,随之客户端无法处理此ack,wireshark上显示ZeroWindow。