2016-04-23 33 views
2


私はlaravel 5で会議アプリケーションを開発しており、そのためにwebRTCソリューションを実装することにしました。
だから、私はものをシグナリングのためにプッシャーを使用しますが、私はPROBを持っている:プッシャー:クライアントイベントをブロードキャストできません

Pusher : Error : {"type":"WebSocketError","error":{"type":"PusherError","data":{"code":null,"message":"Cannot broadcast client event (connection not subscribed to channel presence-chat)"}}}. 
:私は(加入した後などは詰め込む)イベントをトリガするとき、私は、のWebRTCのもののためにSimplePeerJsを使用しています、私は次のERRを持っています

私のコードは次のとおりです。

Pusher.log = function(message) { 
      if (window.console && window.console.log) 
      { 
       window.console.log(message); 
      } 
     }; 
     var currentUser = { 
      nom: '{{ auth()->user()->first_name }}', 
      id: {{ auth()->user()->id }}, 
      stream: undefined 
     }; 
     var pusher = new Pusher('my_app_key', { 
      authEndpoint: 'pusher/auth', 
      auth: { 
       headers: { 
        'X-CSRF-Token': '{{ csrf_token() }}' 
       }, 
       params: { 
        name: currentUser.name, 
        id: currentUser.id 
       } 
      } 
     }); 

     var channel = pusher.subscribe('presence-chat'); 

     var callback = function() { 
      console.log('Channel members:', channel.members); 
     }; 
     // 
     channel.bind('pusher:subscription_succeeded', callback); 
     channel.bind('pusher:subscription_error', function(PusherError){ 
      console.log(PusherError); 
     }); 
     channel.bind('pusher:member_added', function(){ 
      console.log('Member Added'); 
     }); 
     channel.bind('pusher:member_removed', function(){ 
      console.log('Member Removed'); 
     }); 
     //peers stuff 
     var peer = new SimplePeer({ initiator: true }); 

     peer.on('signal', function (data) { 
      channel.trigger('client-signal-' + currentUser.id, 
        { 
         userId: currentUser.id, 
         data: data 
        }); 
     }); 

     peer.on('ready', function() { 
      peer.send('hey peer, how is it going?') 
     }); 

任意のアイデア?ありがとう。

答えて

0

問題は、プッシャークライアントがpeer.on('signal')がトリガーされる前にチャネルに接続してサブスクライブする機会がなかったことです。仲間のものを購読コールバックに移動しようとしましたか?

var callback = function() { 
    console.log('Channel members:', channel.members); 

    //peers stuff 
    var peer = new SimplePeer({ initiator: true }); 

    peer.on('signal', function (data) { 
    channel.trigger('client-signal-' + currentUser.id, 
       { 
        userId: currentUser.id, 
        data: data 
       }); 
    }); 

    peer.on('ready', function() { 
    peer.send('hey peer, how is it going?') 
    }); 
}); 
+1

は答えを考えて、私はuが推奨何、このerrが今表示されます。 'プッシャー:エラー:{ "タイプ": "WebSocketError"、 "エラー":{ "タイプ": "PusherError"、 "data":{"code":4301、 "message": "レート制限によるクライアントイベントの拒否。 –

関連する問題