Я работаю в сетевой флеш-игре, используя сокеты TCP (вынужден использовать TCP b/c flash). Игра довольно проста, так как в основном это текстовая игра. Единственной реальной синхронизацией, которая должна быть применена, является таймер обратного отсчета для каждого клиента. Этот таймер начнется через 60 секунд, а обратный отсчет до 0 и в 0 произойдет некоторое изменение состояния игры, поэтому важно, чтобы все клиенты достигли 0 в аналогичное время.TCP - Синхронизация клиента
Я могу отправить команду «начать отсчет» с моего сервера на всех клиентов и использовать системные часы клиентов, но если пакет будет отброшен или отложен, клиент может выйти из синхронизации с другими. Я мог бы также обеспечить соблюдение некоторых протоколов клиент/сервер, где клиент должен «проверять» с сервером каждую секунду (или меньше), а сервер обеспечивает синхронизацию всех клиентов. Моя забота об этом - эффективность. Моя игра - медленная текстовая игра, поэтому очень возможно, что клиент может не иметь никаких данных для отправки на сервер в течение 30 секунд за раз.
Возможно, не удастся избежать «постоянной проверки», но я надеюсь, что кто-то может дать мне несколько указателей на эффективное решение для синхронизации таймера между несколькими клиентами во флэш-приложении.
Заранее спасибо.
P.S. Я не думаю, что NTP возможен со вспышкой.
Спасибо за ответ. Мне интересно, будет ли это работать: у меня есть сервер, который запускает собственный таймер, а затем говорит всем клиентам запускать один и тот же таймер в своей системе. Затем сервер игнорирует любые клиентские запросы, которые появляются после обратного отсчета таймера, чтобы избежать отставания клиента на секунду или 2 и принятия некорректного запроса. –