繁体   English   中英

Laravel Echo无法订阅Pusher私人频道

[英]Laravel Echo cannot subscribe to Pusher private channel

我无法在私人频道收听活动 但是,我可以听公共频道。

问题

这有效:

Echo.channel('Foo.Bar')
    .listen('MyEvent', (e) => {
        console.log('It worked!');
    });

我可以在Pusher Debug Console中看到有三个连续的事件:

  1. 连接
  2. 认购
  3. 占据

另外,如果我发送Channel: Foo.Bar; Event: App\\Events\\MyEvent Channel: Foo.Bar; Event: App\\Events\\MyEvent ,我可以在浏览器控制台中看到输出。

但是,这不起作用:

Echo.private('Foo.Bar')
    .listen('MyEvent', (e) => {
        console.log('It privately worked!');
    });

我没有在Pusher Debug Console中看到订阅。 显然,如果我发送Channel: private-Foo.Bar; Event: App\\Events\\MyEvent Channel: private-Foo.Bar; Event: App\\Events\\MyEvent ,我在浏览器控制台中看不到输出。

我做了什么

  1. 添加了Broadcast::routes(); BroadcastServiceProviderboot()方法中
  2. 添加了Broadcast::channel('Foo.Bar', function ($user, $FooBarId) {return true;}); BroadcastServiceProviderboot()方法中

  3. 有一个与主管一起工作队列

  4. 使用app,key,secret,driver,cluster,encrypt正确config\\broadcasting我的config\\broadcasting (我可以将我的应用程序中的事件发送给Pusher)

旁注

我可以使用我的应用程序发送和收听公共活动。 只有当频道变得私密时,我才能听不到 (我的应用可以将私人频道上的事件发送给Pusher)。

我怀疑,因为它可能与认证Broadcast::channel('Foo.Bar', callback)BroadcastServiceProvider没有被执行。

我在这里错过了什么?

config\\app ,您需要取消注释以下行

App\Providers\BroadcastServiceProvider::class

文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM