【问题标题】:laravel websocket client not work no errorlaravel websocket客户端不起作用没有错误
【发布时间】:2020-08-24 00:42:56
【问题描述】:

我正在尝试使用这个包中的 websocket https://docs.beyondco.de/laravel-websockets/

但是当测试从 http://localhost:8000/laravel-websockets 在控制台中发送事件按钮其触发事件

但是客户端控制台没有记录并且没有错误

我发送事件请查看下面的截图

从套接字服务器控制台获取的数据

这是我用于测试的客户端代码 但那没有登录 chrome 控制台。

这是配置/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',
        ],

    ],

];

谢谢你。

【问题讨论】:

  • 请在 websockets.php 配置和 bootstrap.js 中发布您初始化 laravel echo 的位置。

标签: laravel websocket


【解决方案1】:

你必须在事件创建器中指定你的 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);
}

【讨论】:

    猜你喜欢
    • 2021-10-24
    • 2023-01-04
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2018-08-23
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多