【发布时间】:2012-11-25 17:52:29
【问题描述】:
我已经在 PHP 中使用了一些 AJAX 来处理诸如提交表单之类的事情,并且我最近开始研究 websockets。我跟着this tutorial 了解了基础知识。据我所知,websockets 保持连接打开,而 AJAX 打开和关闭请求。
我的问题是,如果您只是提交表单或像 auto_complete 之类的简单任务(无论如何都有一个 jQuery 插件),那么 websockets 是否比 AJAX 提供任何优势?也许本教程不是最好的,但似乎要让 websockets 工作(至少使用 PHP)涉及更多的代码,而不仅仅是一个简单的 AJAX 调用(或使用捆绑它的 jQuery)。我在几个地方读到它会更快一些,但如果我正在处理一些没有收到大量请求的东西,它真的会有所作为吗?如果我错了,请纠正我,但并非所有浏览器都支持 websocket,对吧?
【问题讨论】:
-
我觉得文章本身总结的很好:
Websockets can replace long-polling ... -
假设您要自动检查是否有新评论自动添加到文章底部;长轮询意味着您将每 xx 秒检查一次是否有新内容,使用 web-sockets cmets 可以在发布时自动进入。
-
@jeroen 谢谢,这是有道理的。我可以理解诸如检查消息或更新之类的事情,但是如果您只是提交表单,那似乎没有什么区别。是否需要更多代码来设置,还是这个例子很笨拙?
-
客户端非常简单,问题是您需要设置服务器并为不支持 websockets 的浏览器提供与以前相同的 ajax 解决方案。
-
所以你是说如果浏览器不支持 websockets,你需要设置你的服务器才能提供上述浏览器信息?...本质上意味着它是可能的,只是一些额外的工作吗?