Use Case
: три сверстников в видео-чате с двумя другими в том же комнате, сервер отправляет сообщение и все три смены режим в аудио,WebRTC: одновременный выпуск перезаключения
на данный момент, только хром поддерживает повторное согласование, так что для светлячок , я просто закрыть соединение и создать новое подключение сверстников, но после того, как я могу проверить обе стороны хром и изменение режима,
- Если я режим только один пэра изменения в то время, он работает плавно.
- , но когда приходит сообщение от сервера, оба ровесники пытаются пересмотреть одновременно и это не сработало, я получил что-то вроде неправильного состояния: STATE_SENTINITIATE
- Чтобы справиться с этой проблемой, я сделал обходной путь, где, когда PeerConnection должен быть пересмотрен, он проверяет, является ли он вызывающим абонентом
- если да, то он продолжит пересмотр.
- else (если это ответчик), это изменило бы предложенный поток и сигнализировало бы, что вызывающий абонент передумает.
- выше обходной путь работает в течение нескольких реструктуризаций, но в некоторых случаях, он выдает сообщение об ошибке при установке локального описания на стороне Ответчика, утверждая, что неправильное положение, чтобы быть STATE_INPROGRESS или STATE_SENTACCEPT.
Как решить эту проблему?
Я думаю об этом [http: // stackoverflow.com/questions/31313867/what-are-errors-of-having-two-peerconnections-for-one-call) как решение проблемы выше, это хороший дизайн? – mido
@ mido22 - Это может сработать, хотя может быть проще вместо этого сигнализировать оферту, чтобы повторное обсуждение всегда начиналось с той же стороны. – jib