Одноранговый Javascript и что-то

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

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

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

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

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

3 ответа

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

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

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

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

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

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

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

Спасибо.

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

Другие вопросы по тегам