Имеется проект:
-
Laravel 5.2
-
Node JS
-
Socket.IO 1.4.5
Сокет-сервер:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var Redis = require('ioredis');
var redis = new Redis();
redis.psubscribe('*', function(err, count) {
});
redis.on('pmessage', function(pattern, channel, message) {
message = JSON.parse(message);
io.emit(channel + ':' + message.event, message.data);
});
http.listen(9543, function(){
console.log('Listening on Port 9543');
});
Все это в связке с
Events(
Laravel).
При создании сообщения вызывается event и клиент, подключившийся к сокету, получает контент, тут все работает как нужно.
Вопрос - как реализовать своеобразную "очередь" сообщений, чтобы при подключении к сокету клиент получал все предыдущие сообщения, которые должны были прийти через сокет?
Или хотя бы как при подключении к сокету вызвать событие(Laravel Event) или любым другим способом обратиться к бэкенду(Laravel) и получить от него определенные данные?
Важно получить сообщения именно при подключении/переподключении к сокету.
Спасибо.