Одноранговый Javascript и что-то - PullRequest
0 голосов
/ 12 ноября 2018

Я ищу способ подключения клиента (веб-браузера) к серверу (без внешнего IP) с использованием p2p.

В качестве клиентского языка я хотел бы использовать javascript.

Я читал о WebRTC Peer-to-Peer, но я не знаю, работает ли он только с двумя клиентами (javascript) или я могу использовать другой язык (PHP, Python, Node.js).

Я знаю о серверах сигнализации, STUN и TURN. У меня есть сервер с внешним IP-адресом, поэтому проблем не будет.

Мой вопрос: какой язык программирования я могу использовать на сервере?

Ответы [ 3 ]

0 голосов
/ 12 ноября 2018

Наверное, нашел ответ. Я могу использовать серверную часть JavaScript в node.js

0 голосов
/ 13 ноября 2018

Я добавил к ответу Андрея Суглобова: клиент не получает пакеты WebRTC с сервера, потому что у него нет внешнего IP. Чтобы решить эту проблему, вы должны настроить его для связи через сервер TURN в середине.

[Сервер WebRTC] ↔ [ВКЛЮЧЕНО] ↔ [NAT] ↔ [клиент]

Обычно клиент использует JavaScript, потому что это браузер. Но WebRTC - это спецификация, которая поддерживает P2P в сети. Если поддерживается эта спецификация, не имеет значения, какой язык программирования вы используете.

Спасибо.

0 голосов
/ 12 ноября 2018

На самом деле вы можете избежать других языков, если будете использовать Kurento медиа-сервер. У этого есть javascript как родной. И он очень хотел использовать его с бэкэндом Node.js.

Также Janus-Gateawey имеет простую JavaScript API и позволяет создавать бэкэнд на любом языке, который вы хотите. Управление всеми вещами WebRTC происходит на стороне клиента. Это очень удобно, если вы понимаете webRTC и JS хотя бы на базовом уровне.

Для управления webRTC с обратной стороны на python вы можете использовать aiortc library

Если вам нужно отправлять / получать только текстовые данные, тогда socket.io с, например, python-socket.io (на стороне сервера) - это то, что вам нужно

...