Ошибка TB.Socket с OpenTok WebRTC на Meteor

Тут жестко.

Итак, мы пытаемся обновить приложение видеочата OpenTok с Flash на WebRTC и сталкиваемся с ошибками сокетов, когда пытаемся реализовать образец WebRTC helloworld. Ошибки возникают, когда мы пытаемся выполнить вызов session.connect(), а не когда мы запрашиваем sessionId или токен. И ошибка в основном выглядит так (session_id и partner_id анонимизированы):

SessionInfo Response: 
#document
  <sessions>​
    <Session>​
      <session_id>​asfgdagbasdfovnwoinvcwoinvoiandfvoinvoidnofgfdfgfgivniodfnv-sdfgdfgdfg-​</session_id>​
      <partner_id>​1234567890​</partner_id>​
      <create_dt>​Sun Sep 01 12:00:45 PDT 2013​</create_dt>​
      <session_status>​INFLIGHT​</session_status>​
      <media_server_url>​…​</media_server_url>​
      <p2p_server_url>​rtmfp://p2p101-oak.tokbox.com:1945/multicast​</p2p_server_url>​
      <media_server_hostname>​oms409-oak.tokbox.com​</media_server_hostname>​
      <messaging_server_url>​oms409-oak.tokbox.com​</messaging_server_url>​
    </Session>​
  </sessions>​
connectToMessenger
WebSocket error: undefined
TB.Socket Error :: The socket to oms409-oak.tokbox.com received an error: Unknown Error
TB.exception :: title: Connect Failed (1006) msg: TB.Socket Error :: The socket to oms409-oak.tokbox.com received an error: Unknown Error

Любые идеи о том, что может быть причиной этого? Мы тестируем последнюю версию Chrome 29, и это происходит как на локальном хосте, так и на наших рабочих серверах. Так что это не похоже на брандмауэр. Единственное, о чем я могу думать, это то, что мы работаем на платформе Meteor/Node.js, в которой по умолчанию включены веб-сокеты. Код в значительной степени представляет собой стандартный образец helloworld из следующего:

http://tokbox.com/opentok/tutorials/hello-world/js/demo.html

Мы успешно получаем sessionId и токен, просто session.connect() никогда не происходит (и, таким образом, мы никогда не можем получить наш объект подключения или подписаться на прослушиватели событий).

Любые идеи о том, как мы могли бы решить эту проблему? Заранее благодарю за любую помощь! эбигейл


person AbigailW    schedule 03.09.2013    source источник


Ответы (2)


Как обычно, после двух дней, проведенных с ошибкой, я так расстраиваюсь, что задаю вопрос в StackOverflow, а затем решаю его через час.

Короче говоря, в учетной записи OpenTok была опция «включить WebRTC», которая не была установлена. Это была проблема администратора учетной записи. Короче говоря... убедитесь, что у разработчиков есть доступ к учетным записям, которые есть у деловых людей!

person AbigailW    schedule 03.09.2013

Я думаю, вы можете использовать библиотеку flash js вместо библиотеки webrtc. Если вы присоединились к сеансу с помощью flash, он не сможет работать с webrtc.

Вот библиотека webrtc:

<script src='https://swww.tokbox.com/webrtc/v2.0/js/TB.min.js'></script>

Вот флеш библиотека:

<script src='https://swww.tokbox.com/v1.1/js/TB.min.js'></script>

Думайте о webrtc и flash как о двух отдельных продуктах, они не взаимодействуют друг с другом.

person songz    schedule 04.09.2013
comment
Привет Песня! Это была основная идея, но проблема оказалась с самим сервером. Мы использовали старый проект, существовавший до включения WebRTC. Создание нового проекта все исправило. Эй... как евангалист/разработчик TokBox, не могли бы вы ответить на другой вопрос, который у нас сейчас есть? stackoverflow .com/questions/18702343/ - person AbigailW; 09.09.2013