绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
什么是长连接和短连接?
2019-09-09 16:16:45

一、长连接与短连接的概念

    长连接:指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接;一般需要自己做在线维持。

 短连接:指通信双方有数据交互时,就建立一个TCP连接,发送数据完成后,则断开此TCP连接;一般银行都用短连接。

 短连接的优点:管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段,比如:http的,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭连接。

    其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。

二、长连接与短连接的操作过程

    通常的短连接的操作步骤是:连接->数据传输->关闭连接;

    而长连接通常就是:连接->数据传输->保持连接(心跳)->数据传输->保持连接(心跳)->......->关闭连接;

    这就要求长连接在没有数据通信时,定时发送数据包(心跳),以维持连接状态,短连接在没有数据传输时直接关闭就行了。

    

针对长连接和短连接的特点,面试官通常都会问什么时候选用长连接,什么时候选用短连接?

    长连接多用于操作频繁,点对点的通信,而且连接数不能太多的情况。因为每个TCP连接都需要三次握手,这需要时间,如果每个操作都是先连接,在操作的话,那么处理速度会降低很多,所以每个操作完后都不断开,下次处理时直接发送数据包就OK了,不用建立TCP连接。如:数据库的连接用长连接,如果用短连接频繁地通信会造成socket错误,而且频繁的socket创建也是对资源的浪费。

   短连接的使用场合如http,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭连接。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

IT基础架构
创建时间:2020-06-17 15:29:51
IT基础架构是相对于IT应用架构而言的,指的是为了各种应用系统能够顺利、可靠地运行,而提供的一系列硬件、软件的集合体。正是因为有了这些IT基础架构的各种设施,IT应用架构才能运行并提供服务。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~