美文网首页网络通讯编程
什么时候会出现大量的time-wait状态的socket

什么时候会出现大量的time-wait状态的socket

作者: 奥斯特洛司机 | 来源:发表于2019-03-19 09:18 被阅读0次

当请求量比较大的时候,而且所有的请求都是短连接的时候。因为每一个连接在结束4次挥手的时候,都会有一个time-wait状态的socket出现。

这里描述一下4次挥手的过程

客户端发起close,此时给服务器发送FIN分节,客户端此时的状态为time_wait_1,
服务器收到FIN分节,状态变为CLOSE_WAIT,此时服务端的read函数返回0,
发送应答ACK M+1给客户端,客户端收到ACK包后状态变为TIME_WAIT_2。
然后服务器调用close发起FIN分节,此时服务器的状态为LAST_ASK,
客户端收到FIN分节后状态变为TIME_WAIT状态,
同时返回一个ACK 应答给服务器,服务端收到ACK分分节后状态变为CLOSED。

三次握手的过程

服务端阻塞在accept函数,客户端发起connect,发送SYN分节,此时客户端的状态为SYN_SEND,
服务端在收到SYN分节后状态变为SYN_RCVD,
然后服务端返回一个ACK+SYN分节,客户端在收到后connect返回,状态变为ESTABLISHED,
同时返回一个ACK给服务端,服务端收到后accept函数返回,状态变为ESTABLISHED。
三次握手完成。

三次握手和四次挥手的过程和状态一定要记牢,努力学习。坚持就是胜利。

相关文章

  • 什么时候会出现大量的time-wait状态的socket

    当请求量比较大的时候,而且所有的请求都是短连接的时候。因为每一个连接在结束4次挥手的时候,都会有一个time-wa...

  • TIME-WAIT状态存在的理由

    参考自:http://blog.csdn.net/hguisu/article/details/10241519 ...

  • GCDAsyncSocket报错“Socket closed b

    公司产品使用自己的私有协议实现socket通信,但是连接socket的时候会概率性的出现连接不上socket的情况...

  • Node.js中多线程,多主机下数据的处理

    先看代码 demo代码背景:通过Socket,实时同步笔记内容 会不会出现问题? 什么时候出现问题? 场景一: 为...

  • 为何出现大量的女追男

    无论是以生理因素还是社会因素进行分析,男追女通常表现得更为“和谐”。然而在现代社会,女追男的现象普遍增多,每个城市...

  • DevOps与自动化运维实战二

    本文继续讲述。 web socket 以前老的浏览器是采用轮询的方式进行即时通信,这样会导致压力瓶颈,消耗大量带宽...

  • 65.时间管理的几个层次

    第一层 经常会出现没事做的状态 这一层容易出现大量的时间资源的浪费。 为什么会出现这个状态,核心还是没有清晰的中...

  • socket状态判断

    socket状态判断最好用心跳包机制,以下方法只能够判断其中一些状态,临时暂用,有空再好好研究。 using Sy...

  • 设计模式-状态模式(十九)

    状态模式允许一个对象的内部状态改变的时候改变其行为缺点是会造出大量的状态类,优点是使程序免于大量的条件转移语句 什...

  • OpenResty搭建高性能服务端

    Socket编程 Linux Socket编程领域为了处理大量连接请求场景,需要使用非阻塞I/O和复用,selec...

网友评论

    本文标题:什么时候会出现大量的time-wait状态的socket

    本文链接:https://www.haomeiwen.com/subject/ixywmqtx.html