什么是Ajax轮询

Ajax它一般是异步的。也能同步使用。
聊天是需要长连接的,在一些场景下我们不想使用比较耗费资源的长连接,又想实现数据的监听,这时候我们就会使用Ajax的轮询。

Ajax轮询一般分为两种:
1、设定一个定时器,无论有无结果返回,时间一到就会继续发起请求,这种轮询耗费资源,也不一定能够得到想要的数据,这样的轮询是不推荐的。
2、在第一次请求的时候,如果返回数据了,那么就在成功的回调里面再次发起这个请求,就像递归一样,调用本方法。如果时间太久了,失败了,同样的再次调用这个请求,也就是本函数。
当然,这种轮询是需要后台进行配合的,没有数据改变的时候就不用返回,或者约定好逻辑。

什么是WebSocket

WebSocket 是HTML5一种新的协议,基于tcp的协议。它实现了浏览器与服务器 全双工通信(full-duplex)。
websocket 只需要服务端和客户端一次握手,需要借助 HTTP 请求完成,不需要使用轮询的方式
WebSocket 是真正实现了全双工通信的服务器向客户端推的互联网技术。
它是一种在单个 TCP连接 上进行全双工通讯协议,就可以自由进行数据传送和接收,允许服务端主动发送数据,

WebSocket和Ajax轮询的区别

Ajax的特点在于异步交互,动态更新web页面,因此Ajax的适用范围是交互较多,频繁读取数据的web应用。
websocket一般会应用在需要提供多个用户相互交流,或需要实时的展示服务端变动的数据这两种情况。

WebSocket和Ajax各自应用的场景

ajax应用场景:
用Ajax进行表单数据验证,不需要弹出新窗口,也不需要将整个页面提交到服务器,快速而又不会加重服务器负担。
按需取数据,页面会根据用户的操作向服务器请求所需要的数据,这样就不会存在数据的冗余,减少了数据下载总量。
同时,更新页面时不需要重新加载全部内容,大大缩短了用户的等待时间,需要自动更新页面,例如新闻。

Websocket使用场景:
Websocket是一个持久化的协议。用websocket可以实现服务端主动发送信息给客户端,并且客户端能够接收进行处理。
当我们创建某个会话的时候,我们彼此就建立了持久化的协议,然后各自都有约定好的监听,后台可以随时主动与你通信,你也可以主动给后台发送请求 。
使用场景如下: 社交订阅、多玩家游戏、协同编辑/编程、点击流数据、股票基金报价、体育实况更新等。

本文内容借鉴此文章

什么是WebSocket和Ajax轮询?各自区别?各自应用的场景相关推荐

  1. websocket和ajax轮询的区别

    1.ajax轮询 ajax,每一个前端开发都用过,都知道它一般是异步的,也能同步使用. 聊天是需要长连接的,在一些场景下我们不想使用比较耗费资源的长连接,又想实现数据监听,这时候我们就会使用ajax的 ...

  2. ajax长轮询 java web_浅谈Websocket、Ajax轮询和长轮询(long polling)

    浅谈Websocket.Ajax轮询和长轮询(long p0ll) 最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket W ...

  3. ajax 服务端 除了echo,Ajax轮询——定时的通过Ajax查询服务端

    概念:轮询(polling):客户端按规定时间定时向服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接. test.html     //前端代码 var getting = { ur ...

  4. ajax循环输出,Ajax轮询 select循环输出

    弹出层 .del{color:red} .addname{color:#337ab7} 款项名目操作 {$vo.name} 删除 添加... $(".addname").on(&q ...

  5. ajax轮询模拟websocket,Ajax轮询和SSE服务器推送数据与websocket模式的区别性学习

    我们试想一下我们做个实时聊天的窗口有几种方法? 在我们不刷新页面并且可以试试更新页面内容的方法 你这时候是不是想到了ajax没错确实可以 Ajax轮询 什么是轮询?顾名思义就是我轮着问你,规定一个时间 ...

  6. webSocket(与http请求区别、请求和返回示例、替代方法:ajax轮询、long poll、Flash、NodeJS实现WebSocket通信代码、原理、WebSocket构造函数详解)

    目录 简介 优点 请求示例 请求成功返回示例 替代方法 Ajax 轮询 long poll Flash NodeJS实现webSocket(ws模块) 服务端代码 客户端代码 在线网页客户端 运行结果 ...

  7. 第四部分-WebSocket后端轮询代替Ajax轮询

    WebSocket后端轮询代替Ajax轮询 Websocket服务端可以主动推送信息给客户端,解决了http轮询延迟的问题 同时解决服务器上消耗资源的问题 由于Websocket只需要一次HTTP握手 ...

  8. Ajax轮询和WebSocket

    在WebSocket出现之前的我们主要是通过什么实现实时信息传递呢? 主要使用Ajax轮询.long poll(Ajax长查询) Ajax轮询--"定时的通过Ajax查询服务端": ...

  9. HTTP长链接和ajax轮询以及websocket原理理解

    HTTP的生命周期通过 Request 来界定,也就是一个 Request 一个 Response ,那么在 HTTP1.0 中,这次HTTP请求就结束了. 在HTTP1.1中进行了改进,使得有一个k ...

最新文章

  1. 使用 EF Core 的 EnableRetryOnFailure 解决短暂的数据库连接失败问题
  2. 怎么用代码制作WordPress的归档页面
  3. 前端学习(848):为什么学习节点操作和节点简介
  4. BugkuCTF-MISC题善用工具
  5. 【博弈】Codeforces Round #573 (Div. 1) Tokitsukaze, CSL and Stone Game
  6. 向虚拟机发短信(android SMS 调试)
  7. 同济大学 线性代数 第六版 pdf_线性代数同济第六版第六章课后习题答案!
  8. RTL8305NB傻瓜式交换机无法工作
  9. 怎样修改计算机系统8,win8改win7,教您win8怎么改为win7系统
  10. cartographer原理简述
  11. php实现ipv4转换ipv6
  12. 吃透String的intern方法
  13. STM32 BOR/POR/PDR介绍
  14. 2020下半年(小学)教师资格证笔试教育教学知识与能力真题与答案
  15. 【干货分享】一文详尽什么是春招?如何准备春招?互联网春招什么时候开始?
  16. 网络硬件三剑客 - 集线器、交换机与路由器
  17. [经验教程]2022年淘宝/天猫/京东/拼多多等电商购物618年中大促活动是什么时候开始领取超级红包及优惠券入口?
  18. 贝拉博客,一个屌丝网站
  19. Android 8.0(Android O) AccountManager 行为变更
  20. 数据结构与算法(七)—— 散列表结构及其实现和应用

热门文章

  1. 鸣铃之契® 用户协议
  2. 计算机报名怎么qq登录密码忘了怎么办,考生登录系统密码忘了怎么办
  3. 对称加密,非对称加密,混合加密
  4. 【计算机毕业设计】基于微信小程序的健康菜谱系统
  5. 短视频平台源码,css实现折扇效果
  6. 如何让你的python爬虫“拟人化”, 突破60秒不被ban,绝地求生!
  7. Oracle学习 --Oracle三种认证方式
  8. Windows 10怎么合并磁盘?
  9. JS中var和let的区别
  10. Android studio安装app时报错 Error: Activity class {} does not exist