Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
节点js+;mysql推送通知_Mysql_Node.js - Fatal编程技术网

节点js+;mysql推送通知

节点js+;mysql推送通知,mysql,node.js,Mysql,Node.js,我正在做一个项目,我想像facebook一样发出通知。i、 e.当某人对他人档案发表评论或喜欢他人档案上的任何链接时。我想使用nodejs进行实时推送通知 这些评论、喜欢的数据通过ajax请求或将表单发布到php存储在mysql数据库的“通知表”中。我在网上找到了许多关于实时推送通知的nodejs教程,但不幸的是,它们谈到了监视文件,并在文件更新时发出通知 有人知道如何监视mysql表吗?因此,每当在表中插入任何数据时,都会发出通知。我不知道我应该用nodejs写什么样的代码 如果需要更多解释,

我正在做一个项目,我想像facebook一样发出通知。i、 e.当某人对他人档案发表评论或喜欢他人档案上的任何链接时。我想使用nodejs进行实时推送通知

这些评论、喜欢的数据通过ajax请求或将表单发布到php存储在mysql数据库的“通知表”中。我在网上找到了许多关于实时推送通知的nodejs教程,但不幸的是,它们谈到了监视文件,并在文件更新时发出通知

有人知道如何监视mysql表吗?因此,每当在表中插入任何数据时,都会发出通知。我不知道我应该用nodejs写什么样的代码

如果需要更多解释,请告诉我


提前谢谢

您可以使用node.js和mysql库来轮询您的数据库以获取新的通知,我认为这正是您要做的。我从未亲自完成过这项具体任务,但我知道这是可以实现的

关于您需要编写什么样的代码,请尝试查找“节点中间件教程”,其中可能有一些变体,包括搜索查询中的MySQL,您将至少了解您应该查找的内容


如果可以的话,我会用更具体的代码示例更新这个答案,让您朝着正确的方向前进。

您可以使用node.js和mysql库来轮询您的数据库,以获取新的通知,我认为这正是您要做的。我从未亲自完成过这项具体任务,但我知道这是可以实现的

关于您需要编写什么样的代码,请尝试查找“节点中间件教程”,其中可能有一些变体,包括搜索查询中的MySQL,您将至少了解您应该查找的内容

如果可以,我将使用更具体的代码示例更新此答案,以使您朝着正确的方向前进。

您可以使用并添加after save(如果您使用的是mysql活动记录)来通知客户端此包

在服务器上

var httpServer = require('http').createServer(function(req, response){ /* Serve your static files */ })
httpServer.listen(8080);

var nowjs = require("now");
var everyone = nowjs.initialize(httpServer);

everyone.now.logStuff = function(msg){
    console.log(msg);
}
论客户

<script type="text/javascript" src="http://localhost:8080/nowjs/now.js"></script>

<script type="text/javascript">
  now.ready(function(){
    // "Hello World!" will print on server
    now.logStuff("Hello World!");
  });
</script>

now.ready(函数(){
//“Hello World!”将在服务器上打印
现在。logStuff(“你好,世界!”);
});
有关更多信息,请查看,您可以使用并添加after save(如果您使用的是mysql活动记录)来通知客户端此包

在服务器上

var httpServer = require('http').createServer(function(req, response){ /* Serve your static files */ })
httpServer.listen(8080);

var nowjs = require("now");
var everyone = nowjs.initialize(httpServer);

everyone.now.logStuff = function(msg){
    console.log(msg);
}
论客户

<script type="text/javascript" src="http://localhost:8080/nowjs/now.js"></script>

<script type="text/javascript">
  now.ready(function(){
    // "Hello World!" will print on server
    now.logStuff("Hello World!");
  });
</script>

now.ready(函数(){
//“Hello World!”将在服务器上打印
现在。logStuff(“你好,世界!”);
});


有关更多信息,请查看

谢谢Brian,我将按照您的建议进行查找。我想知道的是,每当mysql表被新记录更新时,我是否可以直接通过nodejs获得更新,因此,我不必像处理传统的ajax请求那样每分钟发出一次请求。是的,您可以使用Socket.io将更新推送到浏览器,但是您可能仍然需要使用Node轮询数据库以获取更改,除非您已经使用Node将通知数据插入数据库。好的,这意味着我必须在nodejs中的函数中设置超时,它会定期在mysql上触发select查询。但它是优化的解决方案吗?唯一更好的解决方案是在将通知插入数据库时推送通知。MySQL无法自动为您发送推送通知,因此如果您没有在插入的同时进行推送,那么您需要某种循环来观察表中的更改。好的,brian,我只是想做优化的解决方案,以减少服务器的负载。我将检查这两个选项。谢谢你的帮助。谢谢Brian,我会按照你的建议查找。我想知道的是,每当mysql表被新记录更新时,我是否可以直接通过nodejs获得更新,这样我就不必像传统的ajax请求那样每分钟都发出请求。是的,你可以使用Socket.io将更新推送到浏览器上,但是,您可能仍然需要使用Node轮询数据库以进行更改,除非您已经使用Node将通知数据插入到数据库中。好的,brian,这意味着我必须在nodejs中的函数中设置超时,并定期在mysql上触发select查询。但它是优化的解决方案吗?唯一更好的解决方案是在将通知插入数据库时推送通知。MySQL无法自动为您发送推送通知,因此如果您没有在插入的同时进行推送,那么您需要某种循环来观察表中的更改。好的,brian,我只是想做优化的解决方案,以减少服务器的负载。我将检查这两个选项。谢谢你的帮助。谢谢诺曼,我现在也来看看这个。对不起,回复太晚了。没关系,如果这是你的问题,请将其标记为已回答。。。regardsIt看起来好像nowjs已经被它的开发者抛弃了(至少现在是这样)。你知道有什么合适的替代品吗?谢谢,我没有注意到作者不再维护它了,但是希望社区中的一些成员能够维护它。我知道这有点旧了,但是socket.io现在似乎是事实上的标准。谢谢Norman,我也会看看这个nowjs。对不起,回复太晚了。没关系,如果这是你的问题,请将其标记为已回答。。。regardsIt看起来好像nowjs已经被它的开发者抛弃了(至少现在是这样)。你知道有什么合适的替代品吗?谢谢,我没有注意到作者不再维护它了,但是希望社区中的一些成员能够维护它。我知道这有点旧,但是socket.io现在似乎是事实上的标准。你能完成你的项目吗?是的。我已经完成了你能完成你的项目吗?是的。我已经完成了