TCP在真正的读写操作之前,server和client之间必须建立一个连接,当读写操作完成后,双方不再需要这个链接时他们可能释放这个连接,连接的建立是通过三次握手,释放则需要四次挥手,所以说每个连接的建立都是需要消耗资源和时间的。

  • TCP短连接

    1. client向server发起连接请求
    2. server接到请求,双方建立连接
    3. client向server发消息
    4. server回应client
    5. 一次读写完成,此时双方任何一个都可以发起close操作
      一般都是client先发起close操作,因为一般的server不会回复完client就立即关闭连接

所以短连接一般只会在client和server间传递一次读写操作,短连接管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段

  • 长连接

    1. client向server发起连接
    2. server接到请求后,双方建立连接
    3. client向server发送消息
    4. server回应client
    5. 一次读写完成,连接不关闭
    6. 后续读写操作
  • 长/短连接的操作过程

    1. 短连接的操作步骤:
      建立连接 -> 数据传输 -> 关闭连接
    2. 长连接的操作步骤:
      建立连接 -> 数据传输 -> (保持连接) -> 数据传输 -> 关闭连接
  • 长/短连接的优缺点

    1. 长连接可以省去较多的TCP建立和关闭操作,减少资源浪费,节省时间,对于比较频繁的请求资源的客户端比较适用于长连接
    2. 短连接对于服务器来说管理较为简单,存在的连接都是有用的连接,不需要额外的控制手段