TCP连接与长短连接

TCP的三次握手,四次挥手

TCP是一种网络通信协议,当采用TCP协议进行读写操作前,客户端和服务度之间必须建立一个连接,当操作完成不再需要这个连接时,它们可以释放这个连接。连接的建立就是三四握手,而释放就是四次挥手。

 

三次握手

建立连接的三次握手,简单讲就是建立连接时,客户端发送SYN包到服务器,等待服务器确认;服务器收到SYN包时,确认客户端的SYN,同时自己也发送一个SYN包,形成SYN+ACK包返回客户端;客户端收到这两个包后,向服务器发送确认,此时完成三次握手。服务端和客户端建立连接,开始传输数据。

四次挥手

释放连接的四次挥手,也就是断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。断开时,客户端发送一个FIN包,用来关闭客户端到服务端的数据传送;服务端收到后,发送一个ACK包确认收到;然后再发送一个FIN包关闭从服务端到客户端的数据传送;客户端收到FIN后,发送一个ACK包确认。这样就完成了四次挥手,断开连接。

 

长连接、短连接

可以在网页F12中查看。

HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接。

短连接:每进行一次http操作,就建立一次连接,而任务结束就中断连接。也就是客户端和服务器只传递一次请求操作。

    短连接的优点是,存在的连接都是有用的连接,管理起来比较简单。

 

长连接:即使完成任务后,TCP连接也不会关闭,当客户端再次访问服务器时,会继续使用这条连接。实现长连接需要客户端和服务端都支持长连接。

   长连接的优点是,不用重复建立连接关闭连接,但随着客户端连接越来越多,服务端的压力也会越大。

    这时长连接需要TCP的保活功能,测试长连接的存活状况,如果没有响应就会关闭连接。或者采取一些其他措施。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值