2016-12-27 4 views
3

listen to an event in a private channel을 사용할 수 없습니다. 그러나 공개 채널을들을 수 있습니다.Laravel Echo가 Pusher 비공개 채널을 구독 할 수 없습니다.

문제는

이 작동 :

Echo.channel('Foo.Bar') 
    .listen('MyEvent', (e) => { 
     console.log('It worked!'); 
    }); 
나는 세 개의 연속 이벤트가 있음을 미는 디버그 콘솔에서 볼 수

:

  1. 연결
  2. 가입
  3. 영형 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() 방법에 BroadcastServiceProvider

  • 추가 Broadcast::channel('Foo.Bar', function ($user, $FooBarId) {return true;});boot() 방법에 추가 Broadcast::routes();

    1. 를 무슨 짓을

      queue working with supervisor 되세요.

    2. config\broadcasting을 app, key, secret, driver, cluster, encrypt로 올바르게 설정하십시오.

    사이드

    내가 보내고 내 앱 공공 이벤트를 수신 할 수 노트 (내가 미는에 내 응용 프로그램에서 이벤트를 보낼 수 있습니다). 채널이 비공개가되어서 내가 할 수없는 경우에만 을 수신합니다 (내 앱은 비공개 채널의 이벤트를 푸셔로 보낼 수 있음).

    BroadcastServiceProvider에있는 Broadcast::channel('Foo.Bar', callback)이 실행되고 있지 않기 때문에 아마 인증과 관련이 있다고 생각됩니다.

    무엇이 여기에 있습니까? config\app에서

  • +0

    참조 다음 줄을 주석을 해제해야합니다. 혹시 아무것도 찾았 니? – Derek

    +0

    @Derek 허용되는 답변보기 – Wistar

    답변

    2

    , 당신은

    App\Providers\BroadcastServiceProvider::class 
    

    은 나뿐만 아니라이 좌절입니다 documentation