Я разрабатываю приложение Laravel с календарными событиями.
Я использую socket.io для трансляции событий (согласно уроку здесь: https://laracasts.com/lessons/broadcasting-events-in-laravel-5-1#)
мой файл socket.js:
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.subscribe('test-channel', function(err, count) {
//
});
redis.on('message', function(channel, message) {
console.log('Message Received! ' + message);
message = JSON.parse(message);
io.emit(channel + ':' + message.event, message.data);
});
http.listen(3000, function() {
console.log('Listening on *:3000');
});
Он работает нормально, но когда событие создается, оно возвращается отправителю и дублируется.
Я пытался использовать
socket.broadcast.emit(channel + ':' + message.event, message.data);
вместо того
io.emit(channel + ':' + message.event, message.data);
но сокет не определяется.
Есть ли способ сделать это, не отправляя идентификатор отправителя с событием, а затем вручную проверяя его в интерфейсе?