2016-04-23 2 views
2


Я разрабатываю приложение для конференции с laravel 5, и я решаю реализовать для этого решение webRTC.
Итак, я использую Pusher для сигнализации вещи, но у меня есть Prob: Я использую SimplePeerJs для WebRTC вещей, когда я вызвать событие (после подписки и другие вещи), у меня есть следующий ERR:Pusher: не может транслировать событие клиента

Pusher : Error : {"type":"WebSocketError","error":{"type":"PusherError","data":{"code":null,"message":"Cannot broadcast client event (connection not subscribed to channel presence-chat)"}}}. 

мой код:

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

Проблема заключается в том, что клиент Pusher не имел возможности подключиться и подписаться на канал до запуска 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

Думает за ответ, я делаю то, что у рекомендуется, это эээ появляются в настоящее время: 'Толкатель: Ошибка: { "Тип": "WebSocketError", "ошибка": { "Тип": "PusherError", «data»: {«code»: 4301, «message»: «Отклонено клиентское событие из-за ограничения скорости. См. документы: pusher.com/docs/client_api_guide/client_events#trigger-events»}}} ' –