Я использую BROADCAST_DRIVER = redis для запуска события laravel 5.2. После я запустить следующие услуги по командной строке:Автоматический запуск события трансляции в laravel 5.2
В первой вкладке, запустите узел socket.js
Вы должны увидеть «Прослушивание порта 3000»
На вкладке второй пробег Redis-сервер --port 3001
После Открывают два окна браузера бок о бок и в первом хит URL: "http://your-project-name.app/fire «
А во втором:» http://your-project-name.app/test "
Keep освежающие первое окно, и вы должны увидеть содержимое второй страницы обновляется.
Но я не хочу обновлять страницу, я просто хочу вызвать широковещательное событие в фоновом режиме, а также не хочу запускать службы «node socket.js и redis-server --port 3004».
Я установил узел, redis, express ioredis socket.io и создал событие.
Мой код сокета:
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 Recieved: ' + message);
message = JSON.parse(message);
io.emit(channel + ':' + message.event, message.data);
});
http.listen(3004, function(){
console.log('Listening on Port 3004');
});
мой код socket.js: var app = require ('express')(); var http = require ('http'). Сервер (приложение); 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 = JSON.parse (message); io.emit (channel + ':' + сообщение.event, message.data); }); http.listen (3004, function() { console.log («Прослушивание порта 3004»); }); –