php ajax轮询替代,php - swoole可以代替ajax轮询吗
小葫芦2017-04-11 10:25:091楼
原则上是可以的。
可以使用 swoole 开启 websocket 功能。 websocket 出现的其中一个原因就是为了解决 ajax 轮询的空耗资源以及不及时性而出现的。
使用 websocket 后,不论是客户端还是服务器端有新消息都可以实时互相发送。不仅及时,同时可以避免空轮询。
但是 ajax 轮询也不是没有可取之处,比如说不需要即时获取消息的:如每隔一分钟查看一下是否有新公告。公告本身不需要即时获取的,同时公告本身也比较多的情况下。
还有就是本身就是打算要轮询的,比如每个5分钟发一个请求,目的就是保持当前用户在线状态的。
同时还有个比较致命的问题就是 websocket 相对于 ajax 轮询来说比较复杂。ajax 本身是建立在普通 http 请求上的,属于半双工操作,即客户端有些主动权,即我想获取信息时(事件触发)我就发个请求即可,然后在同一个进程里我继续等待服务器返回数据并做相应处理即可。但是 websocket 属于全双工操作,即客户端和服务器是对等的,服务器随时都有可能发消息给客户端,客户端也有可能随时发消息给服务端,程序思维不在是线性的了。需要重新架构你的程序。
php ajax轮询替代,php - swoole可以代替ajax轮询吗相关推荐
- 一个非常简单的 ASP.NET MVC 示例:长轮询(又叫:反向 AJAX,英文名:Comet)实现...
关于 长轮询(又叫:反向 AJAX,英文名:Comet)的介绍,请查看:反向Ajax,第1部分:Comet介绍 下面是代码实现: UI: <p><input type="b ...
- ajax感受,有什么缺点,浅谈ajax的优点与缺点
AJAX (Asynchronous Javascript and XML) 是一种交互式动态web应用开发技术,该技术能提供富用户体验. 完全的AJAX应用给人以桌面应用的感觉.正如其他任何技术,A ...
- html怎么做产品轮播图,商品轮播图是什么意思(html轮播图怎么制作)
但轮播图对用户真的有意义吗?或者它只是设计者用来偷懒,将内容一股脑塞进去的工具呢? 不论将这个问题抛向谁,他们都会告诉你,"轮播图就是个反面模式(anti-pattern)."轮播 ...
- 《ASP.NET AJAX程序设计——第II卷:客户端Microsoft AJAX Library相关》前言
章节列表:http://www.cnblogs.com/dflying/archive/2007/05/18/751741.html 在最近的一年以及今后的三五年内,我们有理由相信Web应用程序将受到 ...
- AJAX工作原理及其优缺点 1.什么是AJAX? AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页
参考文章:https://www.cnblogs.com/SanMaoSpace/archive/2013/06/15/3137180.html AJAX工作原理及其优缺点 1.什么是AJAX? AJ ...
- php 更换轮播图片不显示不出来,layui 轮播图动态数据不显示问题
layui.use('carousel', function() { var carousel = layui.carousel; var ins = carousel.render({ elem: ...
- ajax调用ashx的方法,jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法
1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是&q ...
- 《ASP.NET AJAX程序设计——第II卷:客户端Microsoft AJAX Library与异步通讯层》前言...
在最近的一年以及今后的三五年内,我们有理由相信Web应用程序将受到更多开发者和用户的青睐.作为领路人Google的一系列基于Web的产品完全地颠覆了传统的网页概念,让用户甚至不敢相信基于浏览器的程序竟 ...
- VIEW层AJAX提交表单到Controller的实体(AJAX传递序列化的输入元素)
在MVC环境中,AJAX方式添加一个对象,这个对象在Models中是一个视图模型,在前台显示时是这样的代码: <%using (Html.BeginForm()) { %> ...
最新文章
- C#多线程编程实战1.1创建线程
- python【蓝桥杯vip练习题库】ALGO-202二进制数数
- 一个公式、五大指标帮你构建产品经理数据分析思维
- PHP如何让内存不释放,PHP中使用unset销毁变量并内存释放问题
- 百度地图demo基础组件演示
- 【报告分享】2020-2021虎嗅洞察报告:聚焦私域流量,洞察增长变局.pdf(附下载链接)...
- python连接mongodb数据库、创建用户_mongodb对数据库创建用户名和密码
- 组合数字c语言do while,C语言初学do while语句(对输入数字字符,特殊符号等,进行统计).docx...
- [转载] Python正则表达式(含正则表达式速查表)
- linux 中开机启动过程简单
- 配置 .vimrc 解决 Vim / gVim 在中文 Windows 下的字符编码问题
- linux出现bash: ./java: cannot execute binary file 问题的解决办法
- PHP 设计模式之观察者模式 (转载)
- 苹果官网html简单代码,苹果官网CSS3应用案例分析
- Spring-IoCDI
- html链接变灰,怎么在HTML中设置点击超链接后变成灰色
- 两块同步FIFO实现乒乓操作
- 【物联网】理论篇 物联网是什么?
- 使用virt-manager创建虚拟机
- 解决for循环有时只输出最后一个结果
热门文章
- MyEclipse配置Maven
- Linux入门命令小结
- RabbitMQ最全使用教程-小白也能看懂
- Android Wear 开发 (一)
- HPE慧与(中国):从IT与CT深度融合看下一代网管
- 多线程编程之七:pthread条件变量
- HYSBZ - 3309 D - DZY Loves Math(莫比乌斯反演+组合思想+DP思想)*好题。。。
- Pytorch离线下载并使用torchvision.models预训练模型
- java code formatter,Eclipse Code Formatter在IDEA中配置
- Android中设置org.gradle.jvmargs