无法在laravel echo中从频道获取消息

时间:2017-02-06 15:00:26

标签: javascript laravel websocket laravel-5.3 laravel-echo

以下是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("broadcast-channel", function(err, count) {
});

redis.on('message', function(channel, message) {
    const event = JSON.parse(message);
    io.emit(channel + ':' + event.event, event.data);
});

http.listen(3000, function(){
    console.log('Listening on Port 3000');
});

这是客户端代码

 var Echo = new Echo({
             broadcaster: 'socket.io',
             host: window.location.hostname + ':3000'
         });
         Echo.channel("broadcast-channel")
             .listen("FieldWasUpdated", function(e) {
                 console.log(e);
             });

在chrome开发工具中,我看到事件来自websockets,但是从不调用console.log。我为io.emitevent.event, channel, event.datachannel, eventetc...)调用尝试了不同的格式,但没有一种格式有效。

0 个答案:

没有答案