php - 保持页面连接的最佳方式?

标签 php jquery ajax node.js ratchet

我正在使用 PHP 和 JQuery 开发一个网站。

我想在从数据库中获取新数据时自动更新页面内容。

我尝试使用 JQuery 执行此操作,唯一的方法是 ajax 轮询,这需要我设置一个间隔来每隔一段时间调用该页面。

我还读到我可以使用 Ratchet PHP WebSocket 或 node.js

我不想使用ajax轮询,因为必须从数据库中为每个用户抓取大量数据。我也不知道 Ratchet 或 node.js 是如何工作的,以及哪一个最好、最简单。

还有其他方法可以做到这一点吗?我应该选择哪一种?

和平

最佳答案

如果您以前没有做过消息传递,那么无论您使用哪种技术,都会有一些学习曲线(请注意)。一个长期存在的应用程序将始终运行,您将在其中处理所有连接的客户端。这与标准网站非常不同,标准网站中每个连接都位于其自己的服务器端脚本内,并在完成后退出。

如果 PHP 是您最熟悉的语言,那么 Ratchet 可能会更容易上手,因为它完全是 PHP 的。然而,由于是 PHP,它最多可能有大约 5000 个同时连接的用户。其他语言有更高的限制。

另一个需要考虑的范例是您可能不想不断地从数据库中读取更改。相反,当发生某些事情时,我会假设用户执行某些操作并写入数据库,当发生这种情况时,您也会将相同的数据推送到连接的客户端。

关于php - 保持页面连接的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17626111/

相关文章:

java - 使用 jQuery 访问基于 Jersey 的 RESTful 服务

javascript - 如何解决 Ajax 上的 Invalid JSON Primitive 错误?

php - Mysql 更新查询 PHP 不工作

php - 即使打开,jQuery 也无法更新 PHP 生成的元素。 ('click'

jquery 和隐藏标签

javascript - 如何将分离的 li 元素添加到 ul 列表

javascript - $.ajax 调用错误

Javascript:如何获取放置事件的文本值?

php - 在执行 PDO::exec() 时调用非对象上的成员函数 exec()

php - 基于 bool PHP 变量的条件 CSS