网络名词拾遗--part2

网络名词拾遗--part2

关于所谓的连接上限

先要明白服务端和客户端的交互逻辑:

  1. 服务端创建socket
  2. 与提供对外服务的port端口绑定
  3. 开始监听
  4. 客户端向这个端口提出请求
  5. 服务端接收到这个请求后创建一个新的socket
  6. 基于这个新的socket来进行数据交互

从这个流程可以知道,真正作为交互通道的是socket,而socket的上限是由系统设置决定的,可以人为修改,所以最终的上限只会由系统资源所决定。

port端口是门牌号,socket才是处理的工人。

长连接,长轮询

先记住基本法,http的交互实际上就是一问一答,也就是只有客户端去问了,服务端才会回答。

先说普通的连接和轮询:

连接:

就是普通的发送请求,服务器接收后,返回响应,断开连接。

轮询:

不断地发送请求去问(实现方法:可以在前端用JS来持续发送请求),服务器会处理每个请求。

而加了一个长字的长轮询则是这样的:

服务器会hold住这个请求(实现方法:其实就是用sleep去等待,等到生成好合适的响应再返回)。

长连接:

就是数据传输完成了之后TCP连接不断开,仍然维持一段时间,后续数据传输仍然可以复用。

posted @ 2017-08-14 11:28  Nanrou  阅读(133)  评论(0编辑  收藏  举报