laravel клиент websocket не работает без ошибок - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь использовать веб-сокет из этого пакета https://docs.beyondco.de/laravel-websockets/

, но при тестировании с http://localhost: 8000 / laravel -websockets кнопка отправки события запускается событие в консоли

, но клиентская консоль не регистрируется и нет ошибок

Я отправляю событие, пожалуйста, проверьте снимок экрана ниже enter image description here

Данные, полученные из сокета серверная консоль enter image description here

это мой клиентский код для тестирования, но он не входит в chrome console. enter image description here

это config / broadcast. php

    <?php

return [

    /*
    |--------------------------------------------------------------------------
    | Default Broadcaster
    |--------------------------------------------------------------------------
    |
    | This option controls the default broadcaster that will be used by the
    | framework when an event needs to be broadcast. You may set this to
    | any of the connections defined in the "connections" array below.
    |
    | Supported: "pusher", "redis", "log", "null"
    |
    */

    'default' => env('BROADCAST_DRIVER', 'null'),

    /*
    |--------------------------------------------------------------------------
    | Broadcast Connections
    |--------------------------------------------------------------------------
    |
    | Here you may define all of the broadcast connections that will be used
    | to broadcast events to other systems or over websockets. Samples of
    | each available type of connection are provided inside this array.
    |
    */

    'connections' => [

        'pusher' => [
            'driver' => 'pusher',
            'key' => env('PUSHER_APP_KEY'),
            'secret' => env('PUSHER_APP_SECRET'),
            'app_id' => env('PUSHER_APP_ID'),
            'options' => [
                'cluster' => env('PUSHER_APP_CLUSTER'),
                'encrypted' => false,
                'host' => '127.0.0.1',
                'port' => 6001,
                'scheme' => 'http'
            ],
        ],

        'redis' => [
            'driver' => 'redis',
            'connection' => 'default',
        ],

        'log' => [
            'driver' => 'log',
        ],

        'null' => [
            'driver' => 'null',
        ],

    ],

];

спасибо.

1 Ответ

0 голосов
/ 28 мая 2020

Вы должны указать полный путь к вашему laravel событию в создателе событий. Попробуйте App\Event\WebSocketDemoEvent вместо WebSocketDemoEvent.

Инициализируйте laravel echo, если вы еще этого не сделали, а затем прослушайте свой канал с помощью -

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: '{{env('PUSHER_APP_KEY')}}',
    cluster: '',
    encrypted: false,
    wsPort: '{{env('PUSHER_APP_PORT')}}'
});

window.Echo.channel('DemoChannel').listen('WebSocketDemoEvent', (e) => {
    console.log(e);
}
...