Если Ваше заинтересованное защитой программного обеспечения, которое Вы намереваетесь продать потребителям, которых я рекомендовал бы любому множеству генерирующихся библиотек лицензионного ключа (поиск Google на поколении лицензионного ключа). Обычно пользователь должен дать Вам своего рода семя как их адрес электронной почты или имя, и они возвращают регистрационный код.
Несколько компаний или разместят и распределят Ваше программное обеспечение или обеспечат полную установку / приложение покупки, с которым можно интегрировать и сделать это автоматически, вероятно, без доплаты Вам.
я продал программное обеспечение потребителям, и я нахожу это правильным балансом стоимости/простоты использования/защиты.
Я случайно наткнулся на мучительно прекрасную запись в блоге о том, как заниматься физикой распределенных сетей в целом (без традиционного клиентского предсказания). Я очень рекомендую его вместе со слайдами GDC, которые Фидлер представил пару лет назад. Удачи!
Это очень интересный вопрос. К сожалению, нет простого ответа. Вам просто нужно хорошо понять проблему и согласиться на решение, которое достаточно для вашего приложения.
Моим первым побуждением было использовать Network Time Protocol (NTP) для настройки машинные часы с серверов NTP решили бы эту проблему. Одна из проблем, решаемых там, касается буферов джиттера , которые связаны с изменением задержки пакетов . Это подробно описано в RFC 3393;