2016-06-20 3 views
2

Полезно ли использовать Firebase events api для синхронизации чего-то между клиентами в режиме реального времени?События Firebase без задержки

Например, если я хочу воспроизводить видео на клиентах точно в одно и то же время (с задержками менее 30 мс), могу ли я полагаться на Firebase здесь? Есть ли способ использовать Firebase для запуска синхронизации событий, насколько это возможно на обоих клиентах? (при условии, что клиенты просматривают одну и ту же страницу в браузере).

Я попытался сыграть с ним, и он кажется довольно надежным, но я не уверен, что это правильный подход.

Другой способ сделать это - просто обменять пакет, в котором говорится: «Начиная с XXX UTC», где XXX - это время + 1000 мс (например). Для одного клиента пакетная передача может занимать 40 мс, для еще 900 мс. Но это событие будет синхронизировано. Но вопрос здесь в том, как узнать, что время клиента настроено правильно?

Я не хочу изобретать велосипед и хочу проверить, были ли у вас эти переживания раньше.

ответ

4

Когда клиент подключается к базе данных базы данных Firebase, SDK Firebase обнаруживает задержку этого клиента. Локальные временные операции (такие как push() и ServerValue.TIMESTAMP) автоматически корректируются для обнаруженной задержки. Вы также можете listen for the latency on .info/serverTimeOffset.

С этим вы можете получить наилучшую оценку Firebase того, как синхронизируются клиенты. Достаточно ли этого, чтобы синхронизировать видеовоспроизведение для ваших нужд. Я бы хотел услышать некоторые цифры, если вы начнете его тестировать.

+0

Привет, что такое средняя латентность для Firebase? У нас возникают проблемы с движением в реальном времени в игре (иногда гладкие, но отрывистые, потому что обновления от других пользователей кажутся затянутыми) и интересно, не так ли мы с FB (неправильная настройка, неправильное событие для мониторинга, и т. д.), или если FB не подходит для этого. – Crashalot

+0

Задержка зависит от того, где вы находитесь в мире, какого типа соединения вы находитесь, сколько других пользователей активны и т. Д. Это факты жизни в Интернете, а не конкретные для Firebase. Поскольку они неконтролируемы, большинство разработчиков игр разрабатывают свою игру для работы в рамках этих известных параметров. –

+0

Yup, понятный. Извините за двусмысленность. Мы протестировали на двух устройствах, подключенных к одному и тому же Wi-Fi (в Bay Area), но видели пятнистую производительность в реальном времени, поэтому задаемся вопросом, неправильно ли мы неправильно сконфигурировали/неправильно использовали FB или если он не предназначен для поддержки производительности <50 мс даже при хороших сетевых условиях. Спасибо за быстрый ответ! – Crashalot