2

我刚开始使用带有 Pusher 和 Echo 的广播。我的问题是我遇到了一个错误,我找不到解决方法。错误消息看起来很直截了当,但我不知道应该去哪里摆脱它。

我的 laravel 是从 Laravel 5.3 升级而来的。我取消了注释App/Providers/BroadcastServiceProvider::class into config.php。我创建了一个活动并设置了私人频道。return new PrivateChannel('dealer.'$this->client->dealer_id); 我将新频道添加到routes/channels.php

Broadcast::channel('dealer.{dealerId}', function ($user, $dealerId) {
    return (int) $user->dealer_id === (int) $dealerId;
});

我将此添加到 bootstrap.js

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: 'my-secrect-key'
});

我还将所有内容添加到 .env 文件中。最后,我在 applayout.blade.php 末尾的脚本中添加了频道

Echo.private(`dealer.1`)
    .listen('NewClient', (e) => {
    console.log(e);
});

当我加载页面时,这是我从控制台得到的错误:

Pusher : Error : {
    "type":"WebSocketError",
    "error":{
        "type":"PusherError",
        "data":{
            "code":null,
            "message":"Auth value for subscription to private-dealer.1 is invalid: should be of format 'key:signature'"
        }
    }
}

我错过了什么/做错了什么?

4

1 回答 1

3

将 Laravel 5.3 升级到 5.4,您应该在 .env 文件中进行更改

更改自:

PUSHER_KEY
PUSHER_SECRET

PUSHER_APP_KEY
PUSHER_APP_SECRET

有人在 Laracast 上回答了这个问题。关联

于 2017-03-22T21:27:26.703 回答