我刚刚开始使用 Pusher 和 Echo 进行广播。我的问题是我收到错误,但找不到解决方法。错误消息看起来很简单,但我不知道应该去哪里消除它。
我的 laravel 是 Laravel 5.3 的升级版。我在 config.php 中取消了 App/Providers/BroadcastServiceProvider::class 的注释。
我创建了一个事件并设置了私有(private) channel 。return new PrivateChannel('dealer.'$this->client->dealer_id);
我将新 channel 添加到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 文件中。最后,我将 channel 添加到 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'"
}
}
}
我错过了什么/做错了什么?
最佳答案
将 Laravel 5.3 升级到 5.4,您应该在 .env 文件中进行更改
更改自:
PUSHER_KEY
PUSHER_SECRET
至
PUSHER_APP_KEY
PUSHER_APP_SECRET
有人在 Laracast 上回答了这个问题。 Link
关于pusher - Laravel 5.4 广播 : Pusher->Error->WebSocketError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42260348/