2015-01-21 4 views
2

Я использовал это code, что объясняется here, чтобы создать соединение datachannel webrtc без использования каких-либо причудливых библиотек. Для сигнализации используются Websockets.WebRTC - DataChannel - Подходит для мобильного Интернета?

Теперь, когда я запускаю приложение узла на своем сервере, имеющем глобальный IP-адрес, я могу подключиться к двум экземплярам браузера через веб-узлы. Оба браузера затем могут подключаться через datachannels.

Теперь я заменил один экземпляр браузера, используя мой браузер мобильного телефона (последний браузер Chrome) и попробовал то же самое. К сожалению, связь не была задействована. Когда я использую два экземпляра браузера на мобильном телефоне, все работает.

Так, может быть, есть что-то не так с сигнализацией, если два браузеры не в той же машине, или NAT Traversal не работает для мобильных телефонов с мобильным интернетом, что и я подозреваю, но I'am не уверен.

Может ли кто-то сказать наверняка, что мобильные интернет-устройства теоретически способен к NAT-переходу? (Я не знаю, как мобильные провайдеры устанавливают свою топологию сети)

+1

Я успешно выполнил многочисленные подключения к каналу передачи данных и видеозвонки с моего телефона Android 4g и по беспроводной сети на другие сетевые устройства. Наличие хороших ICE-серверов является обязательным для любого соединения, и вам может потребоваться сервер очереди, но я смог подключиться с 4-х килограммами только с сервером STUN. –

+0

Итак, качество сервера STUN влияет на обход? Хорошо, я собираюсь проверить это с помощью сервера STUN, работающего на моем собственном глобальном поле Linux. Я, хотя несущий класс NAT (симметричный NAT) мог предотвратить перфорирование отверстий. Приятно слышать, что вам повезло! – Kr0e

ответ

1

Устройства, подключенные через мобильные сети, определенно могут пересекать NAT, но это намного сложнее и с меньшей вероятностью преуспеть.

Вы должны изучить использование TURN-сервера в качестве резервной, когда нормальный STUN недостаточно для пробивки отверстий.

я нашел следующие ресурсы полезны для этой цели:

Любой сервис, который работает в производстве необходим сервер TURN, или это будет ненадежным и слоеное для пользователей. Если ваше приложение не требует точной двухточечной связи между двумя пользователями. Например, WebTorrent является одним из таких проектов, где вам нужно только подключиться к сверстников, но не сверстников, для его работы.

+0

Хорошо, я на самом деле уже счастлив, если бы я знал, что в коде отсутствует какая-то важная часть. Я подумал, что NAT-носители класса перевозчиков могут предотвратить пробивание отверстий, так что, может быть, это проблема мобильного провайдера? Я сижу в Германии с H + мобильным Интернетом с 1and1 в качестве провайдера. Кто знает ? – Kr0e

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