2016-11-02 2 views
6

У меня есть событие SomeEvent.phpLaravel эхо с Redis и гнездами -й

как так:

<?php 

namespace App\Events; 

use Illuminate\Broadcasting\Channel; 
use Illuminate\Queue\SerializesModels; 
use Illuminate\Broadcasting\PrivateChannel; 
use Illuminate\Broadcasting\PresenceChannel; 
use Illuminate\Broadcasting\InteractsWithSockets; 
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; 

class SomeEvent implements ShouldBroadcast 
{ 


    use InteractsWithSockets, SerializesModels; 

    public $data; 
    /** 
    * Create a new event instance. 
    * 
    * @return void 
    */ 
    public function __construct($array) 
    { 
     $this->data = $array; 
    } 

    /** 
    * Get the channels the event should broadcast on. 
    * 
    * @return Channel|array 
    */ 
    public function broadcastOn() 
    { 
     return new PrivateChannel('channel-name'); 
    } 
} 

я включил следующий в моем bootstrap.js и скомпилированный его глоток

import Echo from "laravel-echo" 

window.Echo = new Echo({ 
    broadcaster: 'socket.io', 
    host: 'http://site.dev:6001' 

}); 

window.Echo.private('channel-name') 
    .listen('SomeEvent', (e) => { 
     console.log(e); 
}); 

затем я установил tlaverdure/Laravel-эхо-сервер и вот мой Laravel эхо-server.json

{ 
    "appKey": "[generated]", 
    "authHost": "http://site.dev", 
    "authEndpoint": "/broadcasting/auth", 
    "database": "redis", 
    "databaseConfig": { 
     "redis": {}, 
     "sqlite": { 
      "databasePath": "/database/laravel-echo-server.sqlite" 
     } 
    }, 
    "devMode": false, 
    "host": "sitei.dev", 
    "port": "6001", 
    "referrers": [], 
    "socketio": {}, 
    "sslCertPath": "", 
    "sslKeyPath": "" 
} 

теперь, когда я запустить Laravel эхо-сервер с Laravel-эхо-сервера начинают начинается очень хорошо, однако, когда я разжигать выше события, как так

event(new SomeEvent(json_encode(['name' => 'some-name']))); 

я могу увидеть событие опубликовано не REDIS однако ничего является loged моей консоли клиента: я также включая сокет IO в моей master.blade.php

вышеперечисленного также происходит с уведомлениями

любая помощь будет высоко оценен. Спасибо, ребята

+0

Можете ли вы решить это? У меня была аналогичная проблема по-прежнему открывать любую идею? Http://stackoverflow.com/questions/41120789/broadcasting-event-with-socket-io-and-redis-in-laravel-5-3?noredirect1_comment69445395_41120789? –

+0

В настройках хоста есть опечатка, нет? "sitei.dev" vs "site.dev". Может ли это так? Если нет, уверены ли вы, что рабочий процесс redis запущен? – Trip

ответ

1

Вы определили правило аутентификации для своего канала в BroadcastServiceProvider?

Вы видите какую-либо информацию о подключении и выходе из канала, если вы установите devMode в laravel-echo-server.json?

У меня было много проблем, пытаясь настроить мое подключение к сети, но, наконец, выяснилось, и мой код очень похож на ваш.

Удачи вам!

+0

Спасибо, уже решил – user2293554

Смежные вопросы