mysql - 如何使用socket.io访问mysql数据库

标签 mysql node.js socket.io serverside-javascript

我刚刚开始编写服务器端 javascript,并一直在阅读有关 socket.io 和 node.js 的教程,但我没有遇到任何演示如何使用 node.js 访问 mysql 数据库的内容。

比如说我想创建一个方法来监听我的数据库中的表
mysql.something.com(带数据库:数据库,用户名:用户名等),怎么会
我使用 node.js 获取 socket.io 以连接到该数据库并监听该表的新输入,然后返回该输入?

我想知道是否有人可以给我一个使用发布订阅模型的具体示例。

谢谢您的帮助。

最佳答案

您必须定期轮询 mysql 数据库以获取更改,并在检测到更改时发出 socket.io 事件。这是一个伪代码

var mysql = require('mysql');
var connect = mysql.createConnection({
      host: 'localhost'
    , database: 'your_database'
    , username: 'user'
    , password: 'password'});

var initial_result;

// check for changes after 1 second

setTimeout(function(){

    connect.query('select * from your_table', function(err, result) {
        if(err) { throw new Error('Failed');}
        initial_result = initial_result || result;

        if(Changed(initial_result, result)) { socket.emit('changed', result); }

    });

    function Changed(pre, now) {
  // return true if pre != now
    }


}, 1000); 

关于mysql - 如何使用socket.io访问mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17618381/

相关文章:

php - 如何使用 PHP 为 MySQL DATETIME 类型生成日期?

java - Wildfly Java 应用程序的 Dockerfile

mysql - 使用锁定/解锁更改表

php - 此MYSQL Insert语句中的语法错误是什么?

javascript - 无法使用带有 socket.io 的媒体源从媒体记录器跳入流

node.js - 为什么我的 express 服务器上得到 'Cannot GET/'?

node.js - Node 始终使用相同的集群

javascript - 在 promise 链中等待 DOM 元素中的突变

javascript - 函数返回 undefined variable Javascript

node.js - Socket-io 客户端不断发送连接请求