2016-12-23 4 views
0

Я использую бесплатную учетную запись twilio и сгенерировал серверы и учетные записи twilio turn. С их помощью ICEServerOptions, я получаю кандидат, который имеет только UDP-соединения, но мне нужно TCP-соединение для надежной передачи данных с помощью webRTC.Как получить tcp-соединение кандидата из twilio stun/turn server?

Есть ли способ получить соединение TCP/srflx с серверами twilio stun/turn? Если да, то, пожалуйста, дайте мне знать, как?

Благодаря MJ

+0

Я только что сгенерировал [токен доступа NAT] (https://www.twilio.com/docs/api/rest/token) и имел два кандидата TCP. Можете ли вы поделиться кодом, который используете для его создания? – philnash

+0

моя команда: Maheshs-MacBook Air-: ~ maheshjena $ локон -XPOST https://api.twilio.com/2010-04-01/Accounts/AC5ebd66f6153d2bbb8bb8f8b794c95765/Tokens.json \ > -u «AC5ebd66f6153d2bbb8bb8f8b794c95765: [MY_AUTH_TOKEN_ *****] " –

+0

после этой команды я получаю ссылку на свою очередь сервера, имя пользователя и учетные данные. когда я использую его как параметры ICE Server и получаю кандидатов, нет кандидатов TCP для srflx или реле, я могу найти только кандидатов UDP. –

ответ

1

Насколько мне известно, Twilio по умолчанию не добавляет TURN/TCP для их конфигурации Twilio Клиента, хотя они могли бы сделать это в будущем.

На данный момент, вы должны явно добавить, что в, используя что-то вроде ниже вызова:

Twilio.Device.setup(token, { 
"iceServers": [ { "url": "turn:global.turn.twilio.com:443?transport=tcp" } ] 
}); 

, что сказал, вы должны обратить внимание на следующее:

  1. WebRTC не работать на надежном подключении для передачи аудио и видео. Если вы нацелены на медиа в реальном времени, UDP - ваш лучший друг. TCP используется только как необходимое зло, когда брандмауэры блокируют UDP
  2. После того, как WebRTC сможет подключить своих кандидатов ICE через UDP, он просто перестанет пытаться, и в большинстве случаев вы не увидите TCP-кандидатов, подключающихся вообще - они получают более низкий приоритет из-за (1)
+0

спасибо за ответ, @ Цахи. На самом деле я хочу использовать webRTC для передачи файлов, вот почему мне нужны TCP-кандидаты для этого. Я уже пробовал путь, вы предложили, но он все еще не дает tcp-кандидатов для srflx или реле. Вы пытались каким-либо другим способом получить кандидатов tcp с серверов twilio? –

+0

Для передачи файлов используйте канал данных WebRTC.Это выполняется через SCTP, который вы можете настроить как надежный. См. Здесь https://www.html5rocks.com/en/tutorials/webrtc/datachannels/ и здесь https://bloggeek.me/sctp-data-channel/ для получения дополнительной информации –

+0

спасибо @ Цахи, я обязательно это проверю. hv отличный день. –

Смежные вопросы