Подскажите как правильно реализовать вывод новой строки из БД по инициативе сервера?
Сервер соединен с клиентом через Сокеты.
Пытался сделать так.
latest - ID последнего выведенного сообщения.
message[0] - Мой ID
message[1] - ID Собеседника
setInterval(function(){
connection.query('SELECT * FROM messages WHERE id>'+latest+' && ((sender='+message[0]+' && recipient='+message[1]+') || (sender='+message[1]+' && recipient='+message[0]+')) ORDER BY id DESC', function(err, rows, fields) {
if (err) throw err;
// Отправка данных пользователю
});
},1);
Но этот вариант не подходит. Поскольку получается так что. Если очень много пользователей. То Запись не успевает отправится клиенту, а setInterval идет уже по 2 кругу. И запись дублируется 2-3 раза. Хотя я с этой проблемой воюю уже достаточно давно и на других форумах меня уверяли, что это Хороший вариант реализации моей задачи.
Также пытался реализовать данную задачу через Тригеры и Хранимые процедуры. Но эти попытки тоже не увенчались успехом.