tgoop.com/antonovcoder/12
Last Update:
Сделал прототип синхронизации методом детерминизма. В текущем виде создается сервер и несколько клиентов. Далее каждый клиент шлет только свои изменения серверу. Сервер кладет изменения себе в тайм-лайн. Затем пересылает изменения клиентов друг другу.
Очевидно, что пересылать надо только минимальную информацию. Это достигается подходом "пинг-понг". Отправитель (источник) шлет данные получателю пока не получит подтверждение. Как только получил - останавливается. Причем повторно отсылать можно через таймер. Если нужна быстрая синхронизация (как в мультиплеер играх) то тут таймеры не нужны - нужно максимально быстро доставить информацию. Но если у нас синхронизация файлов в фоновом режиме - то можно добавить таймеры.
Таким образом мы синхронизиурем все тайм-лайны изменений. Каждый клиент применяет эти изменения на опорное (начальное) состояние и получает последнее. Но поток изменений может быть большим и пересчитывать каждый кадр одно и тоже просто не целесообразно. Поэтому есть вопрос - как определить новый опорный кадр? Очевидно, что это можно сделать на сервере, так как у него есть вся информация. Либо сервер будет пересылать эту информацию клиентам.
Подробнее рассказываю в видео.
ВК
BY Серёга Антонов
Share with your friend now:
tgoop.com/antonovcoder/12