我已经使用了一些带有
PHP的AJAX来提交表单,我最近开始研究websockets.我按照
this tutorial了解基础知识.从我收集的内容,websockets保持连接打开,而AJAX打开并关闭请求.
我的问题是如果你只是提交表单或简单的任务,比如auto_complete(无论如何都有一个jQuery插件),websockets提供了优于AJAX的任何优势吗?也许这个教程并不是最好的,但似乎有很多代码可以让websockets工作(至少使用PHP),而不仅仅是一个简单的AJAX调用(或者使用捆绑它的jQuery).我在一些地方读到它有点快,但如果我正在处理一些没有收到大量请求的东西,它真的会有所作为吗?如果我错了,请纠正我,但并非所有浏览器都支持websockets,对吧?
Websockets有两个优点.
原文链接:https://www.f2er.com/php/136491.html>它们的开销更少,从而带来更好的网络性能
>它们允许服务器发送客户端未明确请求的数据.
第二个是最重要的优势.
在AJAX中,服务器发送的所有内容必须是客户端对先前请求的响应,并且每个请求只能回答一次.但在许多应用程序中,尤其是多用户应用程序中,事件发生在服务器上,并且必须立即将这些事件推送到客户端.在AJAX中有解决方法,比如延迟请求的答案,直到有报告的内容(长轮询),但这些都很脏.这就是为什么有Websockets.通过websocket连接,服务器可以根据需要随时向客户端发送消息,而无需等待客户端的请求.
但不幸的是WebSockets也有缺点:
>它们没有得到Web开发框架的良好支持(但是!)
>并非所有网络浏览器都支持它(but most desktop browsers already do)>许多代理和反向代理无法中继websocket流量(还是!)