在 php 中实时接收 mysql 更新
Posted
技术标签:
【中文标题】在 php 中实时接收 mysql 更新【英文标题】:receive mysql updates in php realtime 【发布时间】:2014-04-19 13:30:05 【问题描述】:我目前正在开发一个需要实时更新的体育网络应用程序。
在应用程序中,每个法官都需要根据浏览器中的表格输入一些记录。在这张表中,他们输入成绩并等到所有其他评委输入他们的成绩。保存所有成绩后,应用程序应切换到下一个表,评委需要填写该表。
我想使用 html5 服务器发送消息技术,因为我不太喜欢池客户端。
我现在遇到的问题是如何在 php 中获取 mysql 表的实时更新以将状态发送给客户端。
或者我应该在 php 脚本中使用一个循环,它总是在短暂睡眠后向数据库询问更新。 db-server 的负载会很大吗?
【问题讨论】:
【参考方案1】:对于这种特殊情况,我建议您尝试 Node-JS。 JS 初学者可能很难进入,但据我所知,这是解决(pseudo-)实时问题的好方法。
Node.js 提供了处理自动化流程的良好能力。
【讨论】:
所以我应该在 node.js 中创建一个小网络服务器,仅用于实时功能? 如您所说,您正在使用 PHP - 您应该已经运行了一个网络服务器,不是吗? 如果您愿意尝试一下,那么对于开始使用 Node.js 就足够了 - node.js 还提供了更多功能 - 实时数据处理只是其中之一。另一个解决方案是使用 PHP 的 Socket.io:***.com/questions/6229472/socket-io-from-php-source 如果这仍然不能满足您的需求,您可以试试elephant.io。它将 socket.io 与 PHP 和 Node.js 结合在一起 非常感谢。我会尝试一下elephant.io。这就是我搜索的内容。对于所有阅读本文的人,我现在将通过以下方式解决它:node.js 托管一个允许用户连接和订阅 redis 的小型服务器。使用 redis,我可以通过 nodjs websocket 推送通知。整个过程从 php 中的 mysql 更新开始,并且 php 将状态通过大象.io 发送到 nodejs,将 nodejs 发送到 redis,然后从 redis 通过 nodejs 发送到客户端。 @xcy7e 我希望这是正确的方法【参考方案2】:您应该阅读并使用套接字实现推送通知。当有一些记录添加、更改等时,它们会通知您,因此您可以相应地更改您的程序工作流程。
【讨论】:
以上是关于在 php 中实时接收 mysql 更新的主要内容,如果未能解决你的问题,请参考以下文章
我希望您将新信息(以 JSON 格式)异步发送到 PHP 页面。 PHP接收新数据并更新数据库