当前位置: 首页 > 知识库问答 >
问题:

无法使用Redis在专用频道上广播通知

经骁
2023-03-14

我正在使用Laravel-Redis-Socketio-LaravelEcho进行实时通知。到目前为止,我能够广播到公共频道,但坚持与私人频道。
我的bootstrap.js:

import Echo from "laravel-echo"

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

拉威尔回声服务器。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": ""

在我的notification类中,我将broadcastOn()设置为:

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

我的客户是:

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

在公共频道中一切正常,但在私有频道中,启动laravel-echo-server后,命令行显示以下内容:

错误:连接ECONREFUSSED 127.0。0.1:80. 发送身份验证请求时出错。

共有1个答案

越扬
2023-03-14

您必须通过在config/app中取消注释下一行来添加广播身份验证路由。php

App\Providers\BroadcastServiceProvider::class,

因此,在您的路由/channel.php将检查特定的保护,并根据您的条件返回1或0

 类似资料:
  • 问题内容: 我是新手,我正在尝试创建一个简单的聊天服务器,客户端可以在其中向所有连接的客户端广播消息。 在我的服务器中,我有一个goroutine(无限循环),它接受连接,并且所有连接都由一个通道接收。 然后,我为每个连接的客户端启动一个处理程序(goroutine)。在处理程序内部,我尝试通过迭代通道来广播到所有连接。 但是,我无法广播,因为(我认为通过阅读文档)通道需要在迭代之前关闭。我不确定

  • 我正在尝试使用webrtc和socket通过getUserMedia()获取音频。io将其发送到服务器(socket.io支持音频、视频、二进制数据),然后服务器将其广播到所有连接的客户端。问题是,当流到达连接的客户端时,它会转换为JSON对象,而不是媒体流对象。所以我无法发送音频,我也尝试了套接字。io流模块,但我认为未成功。您能帮我正确捕获音频流并将其发送到所有连接的客户端吗。 下面是发送数据

  • 我已经为我的应用程序设置了Pusher和Laravel Echo,以便在某些事件触发时通知用户。 我已经测试过,看看设置是否通过在“公共频道”上播放而工作,并成功地看到这是工作。 以下是活动本身: 公共频道: app/resources/assets/js/bootstrap。js: 和Laravel回声注册:(它是在我的主布局的头部部分,事件射击视图延伸。) 现在,这种设置适用于公共频道广播,但

  • 2.3 直播频道开通 2.3.1 描述 为直播频道开通加速服务。 2.3.2 请求地址 地址:https://api.bokecs.com/channel/live/open 2.3.3 请求方式 POST 2.3.4 请求参数 1) 请求入参 { "source_self":, "origin_protocol":"", "pull_source":"", "pu

  • 我已经创建了一个通知系统,所有的设置和它的工作罚款,当我发送通知到推动者。但是当我试图在私人频道上收听时,我会出错。 这是我的bootstrap.js文件laravel-echo代码 这是我的主要html的元标记内容 以下是在应用程序中侦听的代码。js 这是我在控制台上遇到的错误 邮递http://localhost:3000/broadcasting/auth 419(身份不明) 提前谢谢

  • 问题内容: 我正在使用Flask提供.m3u8和.ts文件来模拟vod流。 视频播放器不会流式传输文件并显示错误(请参见下面的屏幕截图)。我找不到它是什么错误的日志。 我缺少某处的日志消息吗?是什么原因造成的,我该如何解决? 问题答案: 默认情况下,开发服务器以单线程模式运行,这意味着它一次只能处理一个请求。你一次请求两个文件流,.m3u8和.ts。你可以传递或以允许一次处理多个请求,但是,用它自