我无法登录listen to an event in a private channel。不过,我可以听公众频道。Laravel Echo无法订阅Pusher私人频道
问题
这工作:
Echo.channel('Foo.Bar')
.listen('MyEvent', (e) => {
console.log('It worked!');
});
我可以推调试控制台看到有连续的三个事件:
- CONNECTION
- SUBSCRIBED
- Ø CCUPIED
另外,如果我发送Channel: Foo.Bar; Event: App\Events\MyEvent
,我可以在浏览器控制台中看到输出。
然而,这不起作用:
Echo.private('Foo.Bar')
.listen('MyEvent', (e) => {
console.log('It privately worked!');
});
我没有看到在推调试控制台订阅。很明显,如果我发送Channel: private-Foo.Bar; Event: App\Events\MyEvent
,我在浏览器控制台中看不到输出。
我的BroadcastServiceProvider
的boot()
方法所做的
- 新增
Broadcast::routes();
在BroadcastServiceProvider
新增
Broadcast::channel('Foo.Bar', function ($user, $FooBarId) {return true;});
的boot()
方法有一个queue working with supervisor。- 我的
config\broadcasting
设置与应用程序,密钥,秘密,驱动程序,集群,加密正确。 (我可以从我的应用程序发送事件推)
旁注
我可以发送和听与我的应用程序的公共事件。只有当频道变得私人,我不能听(我的应用程序可以发送私人频道上的事件到推者)。
我怀疑它可能与验证有关,因为在BroadcastServiceProvider
没有被执行。
我在这里错过了什么?
我很沮丧与这一点。你有没有找到任何东西? – Derek
@Derek查看接受的答案 – Wistar