Итак, я пытаюсь разработать веб-приложение, которое имеет возможность совершать видеозвонки между пользователями веб-приложения. Теоретически, Caller A может искать в каталоге в веб-приложении, см., Что Caller B находится в режиме онлайн и совершает видеозвонок. Мой вопрос: как получить IP-номер и номер порта Caller B? Я понимаю, что эту информацию нужно обменивать с помощью сигнализации, но как Caller A когда-либо получает свою информацию в Caller B, если они не знают, что такое номер или номер порта Caller B?Web RTC Peer Discovery
ответ
Одноранговые сети обнаруживают друг друга через протокол ICE. Это является частью обычной установки соединения WebRTC. ICE имеет методы для обнаружения необходимой информации, такой как IP и порты.
Что нужно знать о том, чтобы получить ICE кандидатов от одного пэра к другому. Вы делаете это через ваш сигнальный сервер. Peer A обнаруживает кандидатов ICE и наведет их вам на объект RTCPeerConnection
; вы принимаете этих кандидатов, отправляете их на свой сервер, сервер отправляет их в одноранговую сеть B, где они должны быть включены в равный B RTCPeerConnection
; и все это в обратном направлении. После того, как были обменены достаточные кандидаты ICE, и была обнаружена соответствующая возможность, два партнера установили бы прямое соединение.
Реализация сервера сигнализации предоставляется вам и вашим конкретным потребностям.
Спасибо за очищение, что для меня, получение кандидатов в другую сторону было частью, которая не имела смысла для меня концептуально. – user3704351
Я согласен с комментарием выше, что ICE имеет решающее значение для обмена медиа-потоками, но я предполагаю, что вы задаете этот вопрос с точки зрения сигнализации.
Одним из решений для этого является простая возможность присутствия, построенная на MQTT, и функция, называемая сохраненными сообщениями. В принципе, каждый клиент публикует документ в теме MQTT в виде сохраненного сообщения, которое получают подписчики. Сохраненные сообщения остаются в брокере до тех пор, пока клиент не отключится, или когда клиент отключится от брокера (используя сообщение MQTT Last Will and Testament). Сохраненное сообщение содержит информацию, которая может быть использована для подключения к другим одноранговым узлам (например, имена имен одноранговых узлов). Вы можете увидеть его здесь: https://angular-rtcomm.wasdev.developer.ibm.com.
Все это реализовано с открытым исходным кодом. Если вы хотите получить демонстрационную версию с нуля, вы можете сделать это с помощью Node.js с брокером Mosca MQTT и открытым исходным кодом Rtcomm. Заходит около 20 минут, чтобы настроить, если вы знакомы с узлом. Инструкции можно найти по ссылке выше.
Спасибо, я посмотрю на это. – user3704351
- 1. WEB RTC, Peer JS и NAT
- 2. Peer Discovery в Hyperledger Fabric
- 3. Android WEB RTC
- 4. PJSIP - (Web) RTC интеграции
- 5. Web RTC перезаключение Ошибки
- 6. WebRTC Peer to Peer Connection
- 7. Quickblox Android web-rtc - onRemoteVideoTrackReceive не называется
- 8. Действительно ли протокол Web-протокола peer-to-peer?
- 9. Windows UWP Web Service Discovery по LAN
- 10. Сервер Web RTC работает только в localhost
- 11. Google Glass and Web RTC - подходит
- 12. SIP-связь с веб-сокетом (Web RTC)
- 13. Как запустить Web-RTC на Elastix?
- 14. Peer-to-Peer Messenger
- 15. webRTC multi-peer connection
- 16. Peer to Peer - Когда он будет доступен?
- 17. Live Peer to Peer Swarm
- 18. Broadcast peer-to-peer network
- 19. Firebase Chat - Peer to Peer
- 20. Peer to Peer Game Networking
- 21. Peer to peer over 3G
- 22. Webcam streaming peer-to-peer
- 23. Torrent peer-to-peer connection
- 24. Peer to Peer Socket IO
- 25. peer 2 peer UDP сокеты?
- 26. Braintree peer-to-peer iOS
- 27. Android Peer-to-Peer Connection
- 28. SOA Resource Discovery vs Service Discovery
- 29. Использование аудиозахвата в качестве источника MediaStream в Web RTC
- 30. Web RTC доля экрана не работает в Chrome
В webrtc они обнаруживают друг друга через кандидатов ICE, поэтому в начале вам нужен сервер сигнализации. – mido