【问题标题】:Event broadcating: Laravel Echo fails receiving broadcasts事件广播:Laravel Echo 接收广播失败
【发布时间】:2023-03-04 02:08:02
【问题描述】:

我无法让 laravel Echo 的前部与 pusher 一起工作。在我的app.js

import Echo from "laravel-echo"

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: 'MY_KEY', // I use my own key.
    cluster: 'eu',
    encrypted: true
});

然后,我用gulp 构建我的JS(一切都很好)。然后我运行本地网站的一个随机页面(使用 Valet),打开 Web 控制台并输入:

Echo.channel('survey').listen('survey', function(e) { console.log('test'); });

然后我连接到 pusher 并发送一个事件。

我的本​​地网站上没有任何附加内容。我的控制台中没有警报,没有错误或警告,我什么也看不到。这是 pusher 的调试返回:

我不知道该怎么做才能让它工作,我想我已经仔细阅读了文档,但也许我错过了一些东西。

【问题讨论】:

  • 你有没有听过你的队列php artisan queue:listenphp artisan queue:work
  • 是的,但我不需要,因为我只是在监听 pusher 事件,而不是通过 laravel 队列发送事件(我通过 Pusher 的接口发送事件)。我说的是laravel echo的前端
  • 你能把客户端的监听脚本(刀片文件)发给我们吗?

标签: php laravel broadcast pusher laravel-echo


【解决方案1】:

如果您通过推送控制台发送事件,您需要设置事件的完整命名空间。例如App/Events/survey。 Echo 会自动为您添加命名空间。

查看命名空间下的https://laravel.com/docs/5.3/broadcasting#receiving-broadcasts

如果你从 Laravel 发送事件,它将使用完整的命名空间。

【讨论】:

    猜你喜欢
    • 2018-03-08
    • 2020-07-28
    • 2023-03-24
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 2020-02-18
    • 2021-05-06
    相关资源
    最近更新 更多