Вопрос

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

Конечно, здесь присутствует задержка.

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

Конечно, релятивизм и тому подобное не позволяют мне идеально синхронизировать их, но мне нравится приближаться как можно ближе.

Полагаться только на NTP недостаточно: по моему опыту, часы могут отставать на полсекунды (пояснение:До сих пор я полагался на стандартный вариант, предоставленный Apple).

Мне нужна точность, по крайней мере, в диапазоне 1/10 с.Два компьютера не должны находиться слишком далеко друг от друга, время пинга ICMP обычно не превышает 100 мс.

Есть предложения, как это сделать?

(в настоящее время задействованные машины работают под управлением OS X, поэтому, если вы знаете решение специально для них, это будет началом)

Это было полезно?

Решение

Я бы посоветовал вам установить ntp-сервер на одну из машин и синхронизировать с ним другую.

Другие советы

Получите время от GPS-приемника, подключенного к машинам.Если они находятся в центре обработки данных, может быть сложно разместить антенну в месте, где она может быть заблокирована, хотя, к сожалению, это может быть сложно.

Вы пытались использовать одну машину в качестве NTP-сервера для другой?Возможно, они не будут синхронизированы с «реальным» временем, но это может обеспечить необходимую вам точность.

Пола только на NTP не кажется достаточно хорошим - часы могут быть отключены на полсекунды, по моему опыту.

Это странно.Предполагается, что NTPd через Интернет даст вам гораздо большую точность.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top