![>](style_images/1/nav_m.gif)
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.222.1.187] |
![]() |
|
![]() |
|
|
Здравствуйте!
Подскажите, пожалуйста, как получить дату и время из интернета? |
![]() |
Сообщ.
#2
,
|
|
На форму кинь idTime (Indy компонент)
![]() ![]() var lts:TDateTime; LTime:TIdTime; begin LTime := TIdTime.Create(nil); try LTime.Host := 'time.nist.gov'; LTS := LTime.DateTime; ShowMessage(DateTimeToStr(LTS)); // do something finally LTime.Free; end; end; |
Сообщ.
#3
,
|
|
|
^D^ima, спасибо большое! Все получилось!!!
|
![]() |
|
|
Почему-то при повторном запуске программы, выскакивает такая ошибка: Socket Error # 10054 Connection reset by peer. Как исправить?
![]() ![]() LTime.Host := 'time.nist.gov'; LTS := LTime.DateTime; //label2.Caption:=DateTimeToStr(LTS); // do something LTime.Disconnect(); |
Сообщ.
#5
,
|
|
|
Может, там лимит есть на число запросов? В любом случае, надо иметь не один time.nist.gov, а несколько NTP-серверов для опроса, чтобы как раз такие нештатные ситуации отрабатывать и переспрашивать у другого сервака в списке.
|
Сообщ.
#6
,
|
|
|
Можно еще на низком уровне.
В общем случае копать надо в сторону анализа работы ntp (Linux) или выше упомянутых компонентов. Реализуется такое отправкой одного UDP запроса и получением ответа, но ответ часто не приходит потому нужно повторно отправлять. |