Ajax轮询,Ajax长轮询和websocket简单介绍

1、ajax轮询

ajax轮询 的原理非常简单,让浏览器隔个几秒就发送一次请求,询问服务器是否有新信息。

客户端:你好在吗?

客户端:你好在吗?

客户端:你好在吗?

服务端:在的
2、long poll

(长轮询)其实原理跟 ajax轮询 差不多,都是采用轮询的方式,不过采取的是阻塞模型(一直在呼叫,等不到你,我愿孤独终老,很执着),也就是说,客户端发起连接后,如果没消息,就一直不返回Response给客户端。直到有消息才返回或超时,返回完之后,客户端再次建立连接,周而复始,基于事件的触发,一个事件接一个事件。
客户端:你好在吗...........................

服务端:在的

客户端:终于等到你

服务端:东西给你,再见

客户端:你好我又来了...........
Ajax轮询与(长轮询)long poll都属于不断发送http请求,然后等待服务器处理,在这里可以明显的看到http协议一个特点,被动性,服务端不能主动联系客户端,只有客户端发起(服务端:不是我高冷,我也想

主动出击,奈何实力他不允许啊,我也很绝望)。

缺点:Ajax轮询需要服务器有很快的处理速度与快速响应(永动机要诞生了,累死你丫的)。long poll需要很高的并发(高速公路需要有很多的通道口,不然堵车不能怪我),体现在同时容纳请求的能力。

3、webSocket是html5一种新的协议,实现了浏览器与服务器之间的全双工通信,能很好的节省服务器资源与带宽,并在服务器端与浏览器端实现实时通行,他建立在TCP之上, 同http一样,通过tcp来传输数据。
特点:
     1)只需要一次HTTP握手,所以说整个通讯过程是建立在一次连接/状态中,服务器端会知道连接的信息,知道客户端关闭请求,同时由服务器主动推送,当有信息需要发送时,直接发送。

   2)客户端的连接通过session对象存储,能够实现实时推送,与Ajax沦陷和 long poll 相比有明显的优势(webSocket:不要迷恋哥,哥就是这么优秀)。

转载于:https://www.cnblogs.com/BeyondCrystal/p/11243325.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值