gpt4 book ai didi

laravel-5 - 无法使用 Redis 和 Laravel 5.3 在专用 channel 上广播通知

转载 作者:可可西里 更新时间:2023-11-01 11:28:07 26 4
gpt4 key购买 nike

我正在使用 Laravel-Redis-Socketio-LaravelEcho 制作实时通知。到目前为止,我能够广播到公共(public) channel ,但仍然停留在私有(private) channel 。
我的 bootstrap.js:

import Echo from "laravel-echo"

window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001'
});

Laravel-echo-server.json:

"authHost": "http://localhost",
"authEndpoint": "/broadcasting/auth",
"clients": [
{
"appId": "{{Omitted purposely}}",
"key": "{{Omitted purposely}}"
}
],
"database": "redis",
"databaseConfig": {
"redis": {},
"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},
"devMode": true,
"host": null,
"port": "6001",
"protocol": "http",
"socketio": {},
"sslCertPath": "",
"sslKeyPath": ""

在我的通知类中,我有 broadcastOn() 作为:

public function broadcastOn() {
return new PrivateChannel('my-channel');
}

我的客户端是:

Echo.private('my-channel')
.notification((notification) => {
console.log('I am here');
});

公共(public) channel 一切正常,但使用私有(private) channel ,命令行在启动 laravel-echo-server 后显示以下内容:

Error: Connect ECONNREFUSED 127.0.0.1:80. Error sending authentication request.

最佳答案

您必须通过取消注释 config/app.php 中的以下行来添加 broadcast authentication 路由

App\Providers\BroadcastServiceProvider::类,

因此在您的 routes/channel.php 中将检查特定的守卫并根据您的条件返回 1 或 0

关于laravel-5 - 无法使用 Redis 和 Laravel 5.3 在专用 channel 上广播通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43633000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com