Локальный сервер сигнализации WebRTC
Я пытаюсь найти решение для сервера сигнализации для проекта на базе Android WebRTC. Оба клиента будут Android и оба расположены близко друг к другу, то есть - в пределах 100 ярдов или меньше. Я хотел бы, чтобы решение работало без использования общедоступного сигнального сервера. Я бы предпочел, чтобы один из клиентов также выступал в роли сервера.
Итак, мой вопрос: 1. Как я могу добиться этого, чтобы один из них был сервером? т.е. - Могу ли я установить точку доступа или использовать Wi-Fi direct? 2. Если я смогу достичь № 1, то каково хорошее решение для сервера сигнализации, работающего на Android? Могу ли я запустить один из серверов nodejs на Android?
2 ответа
Сервер сигнализации - это просто способ обмена сообщениями между двумя сторонами. В случае WebRTC эти сообщения являются предложением / ответом и кандидатами ICE.
Вы можете использовать любой тип сервера, который вы хотите сделать, вы даже можете сделать это вручную:).
Вы также можете использовать один из клиентов в качестве сервера, но тогда вам придется каким-то образом передавать IP-адрес другому. Возможно, используйте Wi-Fi direct и получите его программно.
С помощью WebRTC сигнальный сервер - это просто способ помочь вам передать ваше сообщение, обменяться информацией (пакет SDP (createOffer/answer), обмен кандидатами и т. Д.).
Пример: вы можете использовать GCM (Free) в качестве сервера сигнализации или использовать Nodejs с socket.io, websocket, XMPP и т. Д. Единственное, что вам нужно, это передать ваше сообщение между двумя узлами.
Вы можете обратиться к этому руководству: http://www.html5rocks.com/en/tutorials/webrtc/basics/