![](/img/trans.png)
[英]Listen to an event from node server js when new row is inserted to mysql table from app
[英]Creating a Node.js event listener for when there is a new mysql record inserted into table (For Notification Feed)
我正在Codeigniter中编写一个PHP Web应用程序,该应用程序需要具有实时功能。 具体来说,我正在开发的两个实时功能是实时聊天和实时通知提要。
我能够使用Node.JS和Socket.io为站点(客户端到客户端)创建实时聊天,但是我在如何创建由节点(数据库到客户端)支持的通知系统方面付出了巨大的努力。
主要问题:
当新记录插入到MySQL数据库中时,是否有一种基本上让节点事件监听的方法?
Node.js可以执行长时间轮询以检查数据库是否有新记录吗? 如果是这样,使用Node.js进行长时间轮询是否会比更传统的轮询方法更有效?
提前非常感谢您。 任何例子将不胜感激!
1-它取决于您的数据库和使用的语言/技术。 您可以使用MongoDB和node.js本身将记录插入db中。
但是我假设您使用mysql和php,因此您需要某种形式的flag或...触发器来通知node.js。
我对您的应用程序及其运行方式知之甚少,但我的工作是,我使用ajax在db中插入记录,然后通知node.js。
function new_record()
{
$.post('<?php echo base_url(); ?>/record/add_newrecord' , {data:data} , function(res){
if($.trim(res) == 'ok' )
{
if (typeof io !== 'undefined')
{
var socket = io.connect('http://localhost:6666');
socket.emit('new_record_ADDED' , { data : data });
}
}
}
或者您可以在插入记录后直接在您的php脚本中执行此部分
if (typeof io !== 'undefined')
{
var socket = io.connect('http://localhost:6666');
socket.emit('new_record_ADDED' , { data : data });
}
2-可能没有!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.