【发布时间】:2016-09-21 01:54:15
【问题描述】:
在套接字发射期间使用 mysql 获取数据的最佳方法是什么?
例如,我将从数据库中检索到一个数据,现在我想在 socket.emit('emit_name', function(data){ }) 上使用该数据。最好的方法是什么?
我首先用简单的方法测试它是否有效,而不是从 json 开始研究复杂的方法。我在“客户端”上使用了两个数据作为“类型”和“水果”这样的东西
var socket = io.connect( 'http://localhost:8080' );
var nameVal = "Type";
var msg = "apple";
socket.emit( 'messages', { type : nameVal, fruit: msg } );
在服务器端
var socket = require( 'socket.io' );
var express = require( 'express' );
var http = require( 'http' );
var app = express();
var mysql = require('mysql');
var server = http.createServer( app );
var io = socket.listen( server );
var pool = mysql.createPool({
connectionLimit : 10,
host: "localhost",
user: "root",
password: "",
database: "mydb"
}
);
io.sockets.on( 'connection', function() {
console.log( "User connected..!" );
io.client.on( 'messages', function(data) {
console.log( 'Message received ' + data.type + ":" + data.fruit );
});
});
server.listen(8080);
完成这一切之后,我刚刚启动了我的节点服务器,并在页面加载时在我的套接字上“连接”了,但我在套接字端的工作根本没有按照我的想法工作。套接字部分的结果(问题)服务器端给出这个错误如下图:-
可能是什么问题?我该如何解决这个问题?
【问题讨论】:
标签: javascript json node.js sockets