mam imprezę SomeEvent.phplaravel echo z REDiS i gniazda IO
tak:
<?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');
}
}
mam włączone następujące w moich bootstrap.js i skompilowane go łykiem
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);
});
to mam zainstalowane tlaverdure/laravel-echo-serwer i tu jest moje laravel-echo-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": ""
}
teraz kiedy odpalić laravel echo serwer z laravel-echo-serwer rozpocząć zaczyna się bardzo dobrze jednak kiedy odpalić powyższy wydarzenie jak tak
event(new SomeEvent(json_encode(['name' => 'some-name'])));
widzę imprezę opublikowaną do Redis jednak nic jest loged do mojej konsoli klienta: jestem w tym także gniazdo IO w moim master.blade.php
wyżej też się dzieje z powiadomieniami
Każda pomoc będzie bardzo mile widziane. Dzięki chłopaki
Czy jesteś w stanie rozwiązać ten problem? Miałem podobny problem: http://stackoverflow.com/questions/41120789/broadcasting-event-with-socket-io-and-redis-in-laravel-5-3?noredirect=1#comment69445395_41120789 jakikolwiek pomysł? –
Występuje literówka w twoim ustawieniu hosta, nie? "sitei.dev" vs "site.dev". Czy to możliwe? Jeśli nie, czy na pewno działa proces roboczy redis? – Trip