当前位置:网站首页>轮询和长轮询的区别
轮询和长轮询的区别
2022-08-02 03:37:00 【CRMEB】
1.轮询
由客户端发送请求,服务器接收请求的过程,通过客户端不断请求,使得客户端能够模拟达到类似实时收到服务器的效果。客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息,并关闭连接。
不管服务端数据有无更新,客户端每隔定长时间请求拉取一次数据,可能有更新数据返回,也可能什么都没有。
适用用户量比较小,不太注重性能的项目,如小型应用、WEB应用、例如系统消息、天气展示等。
优点:逻辑简单,易于理解,开发快速。
缺点:
(1)需要重复建立HTTP连接,占用大量客户端和服务端的连接
资源。
(2)客户端越多, 服务端压力越大,很多时候并没有新的数据更新,因此绝大部分请求都是无效请求。
(3)数据不一定是实时更新,要看设定的请求间隔,基本会有延迟。


2.长轮询
长轮询是长连接的一种,当服务器收到客户端发来的请求后,服务器端不会直接进行响应,而是先将这个请求挂起,然后判断服务器端数据是否有更新。如果有更新,则进行响应,如果一直没有数据,则会 hold 住请求,直到服务端的数据发生变化,或者等待一定时间超时才会返回。
客户端JavaScript响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。像WebQQ/FaceBook早起都是使用长轮询实现的。
优点:消息即时到达,和短轮询比起来,明显减少了很多不必要的HTTP请求次数,在无消息的情况下不会频繁的请求,相比之下节约了资源,在无消息的情况下不会频繁的请求。
缺点:连接挂起会导致资源的浪费,长轮询会造出非常多的请求,不断的请求可能会造成的影响是数据顺序无法得到保证。

3.建议
轮训能够实现的功能长轮训都能满足,从技术角度考虑建议使用长轮训替换轮训实现, 节省服务器性能和带宽, 相比下来开发成本也不高。
源码附件已经打包好上传到百度云了,大家自行下载即可~
链接: https://pan.baidu.com/s/14G-bpVthImHD4eosZUNSFA?pwd=yu27
提取码: yu27
百度云链接不稳定,随时可能会失效,大家抓紧保存哈。
如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~
开源地址
码云地址:
http://github.crmeb.net/u/defu
Github 地址:
http://github.crmeb.net/u/defu
边栏推荐
- PHP将字符切割成每个拼音
- 多数据中心操作和检测并发写入
- Andrew Ng's Machine Learning Series Course Notes - Chapter 18: Application Example: Image Text Recognition (Application Example: Photo OCR)
- C# Thread IsBackground作用
- QT中更换OPENCV版本(3->4),以及一些宏定义的改变
- 盒子移动和滚动加载效果练习
- 吴恩达机器学习系列课程笔记——第七章:正则化(Regularization)
- flask简单接口实现
- Kubernetes中Pod对象学习笔记
- 无主复制系统(3)-Quorum一致性的局限性
猜你喜欢

MySQL5.7的安装编译及报错的解决方法

samba,nfs,iscsi网络文件系统

QObject: Cannot create children for a parent that is in a different thread.

Deep Blue Academy-Visual SLAM Lecture 14-Chapter 6 Homework

生物识别学习资源推荐

深蓝学院-视觉SLAM十四讲-第五章作业

The most authoritative information query steps for SCI journals!
![[Win11] PowerShell无法激活Conda虚拟环境](/img/53/464ffb5ef80ce8f6ee19e9ea96c159.png)
[Win11] PowerShell无法激活Conda虚拟环境

SCI写作攻略——附带常见英语写作句式

LVS+Keepalived实现高可用的负载均衡
随机推荐
科研笔记(八) 深度学习及其在 WiFi 人体感知中的应用(下)
Research Notes (8) Deep Learning and Its Application in WiFi Human Perception (Part 1)
micro-ros arduino esp32 ros2 笔记
拦截器Sercurity权限管理和加密方式的登录认证使用
未来智安创始人兼CEO唐伽佳荣膺36氪X·36Under36 “S级创业者”
OpenCV内阈值处理方法
C# Thread IsBackground作用
Research Notes (8) Deep Learning and Its Application in WiFi Human Perception (Part 2)
The most authoritative information query steps for SCI journals!
Research Notes (6) Indoor Path Planning Method Based on Environment Perception
盒子移动和滚动加载效果练习
offset、client 和 scroll
位居榜首 | 未来智安荣登CCIA「2022年中国网安产业潜力之星」榜单
深蓝学院-视觉SLAM十四讲-第四章作业
ESP32-C5 简介:乐鑫首款双频 Wi-Fi 6 MCU
SCI writing strategy - with common English writing sentence patterns
el-select和el-tree结合使用-树形结构多选框
今天突然下雨
科研笔记(五) SLAC WiFi Fingerprint+ Step counter融合定位
Location、navigator和History对象