小葫芦2017-04-11 10:25:091楼

原则上是可以的。

可以使用 swoole 开启 websocket 功能。 websocket 出现的其中一个原因就是为了解决 ajax 轮询的空耗资源以及不及时性而出现的。

使用 websocket 后,不论是客户端还是服务器端有新消息都可以实时互相发送。不仅及时,同时可以避免空轮询。

但是 ajax 轮询也不是没有可取之处,比如说不需要即时获取消息的:如每隔一分钟查看一下是否有新公告。公告本身不需要即时获取的,同时公告本身也比较多的情况下。

还有就是本身就是打算要轮询的,比如每个5分钟发一个请求,目的就是保持当前用户在线状态的。

同时还有个比较致命的问题就是 websocket 相对于 ajax 轮询来说比较复杂。ajax 本身是建立在普通 http 请求上的,属于半双工操作,即客户端有些主动权,即我想获取信息时(事件触发)我就发个请求即可,然后在同一个进程里我继续等待服务器返回数据并做相应处理即可。但是 websocket 属于全双工操作,即客户端和服务器是对等的,服务器随时都有可能发消息给客户端,客户端也有可能随时发消息给服务端,程序思维不在是线性的了。需要重新架构你的程序。

php ajax轮询替代,php - swoole可以代替ajax轮询吗相关推荐

  1. 一个非常简单的 ASP.NET MVC 示例:长轮询(又叫:反向 AJAX,英文名:Comet)实现...

    关于 长轮询(又叫:反向 AJAX,英文名:Comet)的介绍,请查看:反向Ajax,第1部分:Comet介绍 下面是代码实现: UI: <p><input type="b ...

  2. ajax感受,有什么缺点,浅谈ajax的优点与缺点

    AJAX (Asynchronous Javascript and XML) 是一种交互式动态web应用开发技术,该技术能提供富用户体验. 完全的AJAX应用给人以桌面应用的感觉.正如其他任何技术,A ...

  3. html怎么做产品轮播图,商品轮播图是什么意思(html轮播图怎么制作)

    但轮播图对用户真的有意义吗?或者它只是设计者用来偷懒,将内容一股脑塞进去的工具呢? 不论将这个问题抛向谁,他们都会告诉你,"轮播图就是个反面模式(anti-pattern)."轮播 ...

  4. 《ASP.NET AJAX程序设计——第II卷:客户端Microsoft AJAX Library相关》前言

    章节列表:http://www.cnblogs.com/dflying/archive/2007/05/18/751741.html 在最近的一年以及今后的三五年内,我们有理由相信Web应用程序将受到 ...

  5. 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 ...

  6. php 更换轮播图片不显示不出来,layui 轮播图动态数据不显示问题

    layui.use('carousel', function() { var carousel = layui.carousel; var ins = carousel.render({ elem: ...

  7. ajax调用ashx的方法,jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法

    1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是&q ...

  8. 《ASP.NET AJAX程序设计——第II卷:客户端Microsoft AJAX Library与异步通讯层》前言...

    在最近的一年以及今后的三五年内,我们有理由相信Web应用程序将受到更多开发者和用户的青睐.作为领路人Google的一系列基于Web的产品完全地颠覆了传统的网页概念,让用户甚至不敢相信基于浏览器的程序竟 ...

  9. VIEW层AJAX提交表单到Controller的实体(AJAX传递序列化的输入元素)

    在MVC环境中,AJAX方式添加一个对象,这个对象在Models中是一个视图模型,在前台显示时是这样的代码: <%using (Html.BeginForm())       { %>   ...

最新文章

  1. C#多线程编程实战1.1创建线程
  2. python【蓝桥杯vip练习题库】ALGO-202二进制数数
  3. 一个公式、五大指标帮你构建产品经理数据分析思维
  4. PHP如何让内存不释放,PHP中使用unset销毁变量并内存释放问题
  5. 百度地图demo基础组件演示
  6. 【报告分享】2020-2021虎嗅洞察报告:聚焦私域流量,洞察增长变局.pdf(附下载链接)...
  7. python连接mongodb数据库、创建用户_mongodb对数据库创建用户名和密码
  8. 组合数字c语言do while,C语言初学do while语句(对输入数字字符,特殊符号等,进行统计).docx...
  9. [转载] Python正则表达式(含正则表达式速查表)
  10. linux 中开机启动过程简单
  11. 配置 .vimrc 解决 Vim / gVim 在中文 Windows 下的字符编码问题
  12. linux出现bash: ./java: cannot execute binary file 问题的解决办法
  13. PHP 设计模式之观察者模式 (转载)
  14. 苹果官网html简单代码,苹果官网CSS3应用案例分析
  15. Spring-IoCDI
  16. html链接变灰,怎么在HTML中设置点击超链接后变成灰色
  17. 两块同步FIFO实现乒乓操作
  18. 【物联网】理论篇 物联网是什么?
  19. 使用virt-manager创建虚拟机
  20. 解决for循环有时只输出最后一个结果

热门文章

  1. MyEclipse配置Maven
  2. Linux入门命令小结
  3. RabbitMQ最全使用教程-小白也能看懂
  4. Android Wear 开发 (一)
  5. HPE慧与(中国):从IT与CT深度融合看下一代网管
  6. 多线程编程之七:pthread条件变量
  7. HYSBZ - 3309 D - DZY Loves Math(莫比乌斯反演+组合思想+DP思想)*好题。。。
  8. Pytorch离线下载并使用torchvision.models预训练模型
  9. java code formatter,Eclipse Code Formatter在IDEA中配置
  10. Android中设置org.gradle.jvmargs