您的位置:首页 > 理论基础 > 计算机网络

TCP长链接/短链接

2016-03-23 22:10 381 查看
什么是长链接什么就短链接,为什么链接要区分长短?

当采用TCP数据传输是,在client与server之间要建立链接,数据传输结束,链接关闭,这是我们常见的方式,但我们看链接人建立过程及关闭过程

连接创建过程



连接释放过程



很经典的3次握手交流4次握手说再见,回故乡探亲,十年未见面,见面再三确认身份,分手时依依不舍哦。

相信看完这个过程就会问了,这俩人十年未见这样也就忍了,毕竟十年未见,变化比较大,但是天天见面也这样,这就有点防贼的感觉了,

好了,回故里呆的时间比较长,亲人不能天天陪着你,你也不能天天就在家带着,给你一把家门钥匙,没事出去溜达,累了可以回家休息,这才是探亲么,对不对,但也不能长住,住几天差不多了,赶紧拜拜吧。

ok,说到这里,估计大家应该们白怎么回事了,

TCP短连接

client向server发起连接请求,server接到请求,然后双方建立连接。client向server发送消息,server回应client,然后一次读写就完成了,这时候双方任何一个都可以发起close操作,不过一般都是client先发起close操作。为什么呢,一般的server不会回复完client后立即关闭连接的,当然不排除有特殊的情况。从上面的描述看,短连接一般只会在client/server间传递一次读写操作

短连接的优点是:管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段

TCP长连接
client向server发起连接,server接受client连接,双方建立连接。Client与server完成一次读写之后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。

需要注意的是,在长连接的应用场景下,client端一般不会主动关闭它们之间的连接,

Client与server之间的连接如果一直不关闭的话,会存在一个问题,随着客户端连接越来越多,server早晚有扛不住的时候,这时候server端需要采取一些策略,如关闭一些长时间没有读写事件发生的连接,这样可以避免一些恶意连接导致server端服务受损;如果条件再允许就可以以客户端机器为颗粒度,限制每个客户端的最大长连接数,这样可以完全避免某个客户端累夸整个后端服务。

长连接和短连接的产生在于client和server采取的关闭策略,具体的应用场景采用具体的策略,没有十全十美的选择,只有合适的选择。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: