长连接和短连接,长轮询和短轮询

长连接,短连接

  • 解释:TCP连接有两种工作方式:短连接方式(Short-Live Connection)和长连接方式(Long-Live Connection)
  • 短连接:当客户端有请求时,会建立一个TCP连接,接收到服务器响应后,就断开连接。下次有请求时,再建立连接,收到响应后,再断开。如此循环。这种方式主要有两个缺点:
  • 1、:建立TCP连接需要3次“握手”,拆除TCP连接需要4次“挥手”,这就需要7个数据包。如果请求和响应各占1个数据包,那么一次短连接的交互过程,有效的传输仅占2/9,这个利用率太低了。
  • 2、:主动断开TCP连接的一端,TCP状态机会进入TIME_WAIT状态。如果频繁地使用短连接方式,就有可能使客户端的机器产生大量的处于TIME_WAIT状态TCP连接。
  • 长连接:客户端和服务器建立TCP连接后,会一直使用这条连接进行数据交互,直到没有数据传输或异常断开。在空闲期间,通常会使用``心跳数据包(Keep-Alive)`保持链路不断开。目前长连接方式应用范围比较广泛。

长轮询,短轮询

  • 短轮询:客户端发起定时器的循环请求服务器端,服务端无论是否有新数据,都会响应该请求,并返回给客户端。
  • 长轮询:即在客户端发起请求后,服务器端要判断是否有新的数据要返回,如果没有新数据,则保持请求,直到有新数据的时候再返回给客户端,当客户端收到返回信息后,再进行下一次请求。

你可能感兴趣的:(tcp/ip,网络,http)