浏览器不支持websocket怎么解决 WebSocket有没有可能取代AJAX?

[更新]
·
·
分类:互联网
1307 阅读

浏览器不支持websocket怎么解决

WebSocket有没有可能取代AJAX?

WebSocket有没有可能取代AJAX?

应该不会,毕竟ajax轮询比较可靠,也是常用的手段,websocket句柄容易断,分布式下还得解决会话共享,比较麻烦,低成本实现一般还是ajax

用Websocket取代ajax来开发WEB应用,是不太可能的。需要考虑以下更多的问题:
1、部分浏览器可能不支持websocket;
2、多种客户端访问技术,譬如移动端,自己开发的sdk;用http协议,会很通用而简单;websocket在技术上,不够通用;
3、并发,http是短连接,而websocket会保持长连接,当交互并不频繁的时候,连接是被大量浪费的,因此服务器的连接容量会大大多于http;
4、负载,http协议,可以很容易的进行web请求转发来扩容,在搭建lbs接入层的时候,很简单和稳定;而websocket协议,虽然nginx也可以转发,但是毕竟是新技术,稳定性未知;
5、简单:在问题诊断的时候,可以直接面向http协议进行切片从而监视原始数据,工具也很多;而websocket,需要更多面向tcp协议的工具,复杂度和难度会增加不少;综上,还是建议只有当需要服务器push的模块,才采用websocket,而其他的交互采用http。

websocket和socket能通讯吗?

WebSocket协议是一种网络协议,它实现了浏览器与服务器的双向通讯的设计。 在本地移动应用中WebSockets也非常有用。通过使用WebSockets,可以重复使用现有的工具建立网页,就像大多数移动应用程序重复使用他们API中的HTTP协议一样。

PHP后台顺序输出数据与前端交互,更新后如何维持Index?

建议使用datatables,数据源采用ajax source,options配置中
{
bServer:true,
bPagination:true
}
完全就能满足你的需求。而且所有的增删查改在前后端均会同步。
其原理是前端通过分页参数获取数据后会在js的context下维护一个数组对象用于存放数据表,此表与后台数据完全映射。自带的search功能默认可以对前端js维护的数据表进行索引查询,也可以通过函数重载改写为直接使用select like来对后端整表进行查询。非常方便。
如果是后台产生数据更新而非前端主动产生,有几种方法:
1、ajax source设置timer自动更新,系统负担与timer的频率成正比;
2、使用部分浏览器支持的websocket建立一个长连接,更新后通知前端;
3、使用部分浏览器支持的notifications功能
web开发技术日益更新不进则退,我的项目更新日志里有很多都是对技术框架的更新log,并且效果卓著。举例说明,我的项目中最早使用的datatables版本是1.10,没有使用ajax source进行分页读取数据库,而是全部读取后前端分页。在数据量增大后效率极具下降。前后端均加上时间打印后发现,PHP mysql的总用时为0ms,而前端建立js数据表花了近10s。于是前往官网查看优化方式,看到版本已更新为1.13则顺手更新了整个模块,没想到之前的近10s耗时随着这次更新降到了几百ms的级别,瞬间解决了效率问题。开源的强大就在于你不是一个人在战斗,你遇到的问题,别人也会遇到,可能早就解决。