2010-08-17 6 views

Odpowiedz

7

Z tego zbudowano model Network Time Protocol. Ale prawdopodobnie jest to coś, co najlepiej pozostawia się systemowi operacyjnemu, aby nie doprowadzić do pojedynkowania się przy użyciu różnych, niezupełnie zsynchronizowanych serwerów.

Zobacz nagłówki w powyższym linku dla implementacji UNIX i Windows.

1

to czuje jak coś OS powinien zrobić na własną rękę ...

Jest to protokół w internecie o nazwie NTP, która zwraca czas z serwerów czasu.

Możesz spróbować wyszukać bibliotekę/klasę, która może korzystać z NTP w celu pobrania czasu.

Lub możesz spróbować spojrzeć na kod źródłowy dla ntpclient.

0

Zazwyczaj większość systemów operacyjnych ma taką funkcjonalność.

Zarówno system Windows, jak i Linux mogą być synchronizowane z serwerami NTP.

Jeśli naprawdę chcesz, aby użytkownik zmienił swoją strefę czasową, powinieneś poszukać specyficznego dla systemu operacyjnego interfejsu API zamiast komunikować się bezpośrednio z serwerami czasu, a następnie zmieniać czas systemowy. To byłoby ładniejsze niż way.

2

Są wolne biblioteki i specyfikacje jak odzyskać czas, oraz format, w którym się pojawi (więc REs są na ogół niepotrzebne). Wybór zależy od poziomu precyzji/dokładności.

RFC 868 daje czas na drugi, który jest całkowicie odpowiedni dla wielu celów ludzi. Jeśli jest wystarczająco dobry, jest łatwiejszy w implementacji niż inne wymienione poniżej.
RFC 5905 definiuje Network Time Protocol. Tak długo, jak chcesz tylko uzyskać uzyskać czas, nie zapewnia go dla nikogo innego, NTP jest prawdopodobnie przesadą jednak.
RFC 4330 definiuje SNTP (Simple NTP), która jest uproszczoną wersją NTP dla komputerów, które działają jako "węzły listkowe" - tj. Pobierają czas z innego źródła, ale nic innego nie pobiera z nich czasu.

The NTP project ma bezpłatne biblioteki NTP dla wielu systemów.

Powiązane problemy