Всем привет, имеется вопрос. Хочу сделать обновление ленты новостей на socket.io но возник вопрос как это все отдавать в json формате? и что лучше использовать pool или статичный sql?
вот код server.js
var io = require('socket.io').listen(3000),
mysql = require('mysql');
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : '',
database : 'test',
port : 3306
});
// Навешиваем обработчик на подключение нового клиента
io.sockets.on('connection', function (socket) {
var time = (new Date).toLocaleTimeString();
// Посылаем клиенту сообщение о том, что он успешно подключился
socket.json.send({'event': 'connected', 'time': time});
setInterval(function() {
socket.broadcast.json.send(updateFeed());
}, 5000);
});
function updateFeed() {
pool.getConnection(function(err, connection) {
connection.query('SELECT `u`.`member`, `u`.`login`, `n`.`text`, `n`.`time` FROM `news` as `n` LEFT JOIN `members` as `u` ON (`u`.`member` = `n`.`member_id`) ORDER BY `n`.`n_id` DESC LIMIT 0, 5', function(err, rows) {
var gdata = "";
[rows].forEach(function(item, key, rows){
for(var index in item)
{
if(item.hasOwnProperty(index)) {
gdata += {
index: item[index]
};
}
}
});
return gdata;
connection.release();
});
});
};
и код клиента
socket = io.connect('localhost:3000');
socket.on('connect', function () {
socket.on('message', function (msg) {
console.log(msg);
});
});
дело в том что он отдает мне null. Что делаю не так?