javascript + mysql实时更改

时间:2016-01-18 10:18:10

标签: javascript mysql socket.io

我阅读了几个教程,但我找不到适用于我案例的实例。

每当数据库发生变化时,我希望进行实时刷新(旁边)(假设我通过phpmyadmin更改值)。

根据我的理解,socket.io应该是一个解决方案。另外,我找到this tutorial here,但它似乎已经过时了,所以它不再起作用了(从我能说的)。

有没有替代方案或工作实例?它可以是非常基本的,但使用setInterval的范围为100 - 500的参数似乎有点重,对吧?我不能等待超过1秒。

我不确定,如果有任何侦听器或服务,可以“推送”到JS站点的更改,所以我不会依赖JavaScript超时功能。

另外,从socket.io上的docs(和示例)中,我找到了在localhost上运行服务器的方法,但是没有在服务器上运行。可以说,我有这个:

var.app = require('http').createServer(handler),
...
app.listen(8000);

似乎听localhost:8000。我可以将此参数替换为live-url吗?

1 个答案:

答案 0 :(得分:0)

您可以使用WebSockets,它已经得到了广泛的支持,但您仍然需要在您的计算机上运行WebSockets服务器,您仍然无法实际发送您在phpmyadmin中所做的更改,因为PHP不知道你是否在那里做了任何改变。

解决方案可能非常复杂,因为您必须组合选项,大多数可能通过WebSockets解决的问题,因此您只需将PHP中的通知发送到JavaScript,但除此之外,您还可以检查数据库是否有变化,如果你真的想在phpmyadmin中监视你的更改(我强烈建议你反对,创建以你想要的方式修改数据库的函数,然后每个都检查数据库更容易) ms)。

您的结构可能类似于:

JavaScript - >连接到 - > PHP WebSockets服务器

并且每次更改都会将更改提交给JavaScript。

抱歉,我无法帮助您设置WebSockets服务器,但我知道Symfony2有一个软件包,您可以下载并对其进行反向工程。

这是MDN页面:https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API