|
Подключиться к серверу NTP из 1С | ☑ | ||
---|---|---|---|---|
0
Andreyyy
26.08.11
✎
00:05
|
Как ?
И получить точное время/дату ? Спасибо. |
|||
1
Andreyyy
26.08.11
✎
09:11
|
апну
|
|||
2
shuhard
26.08.11
✎
09:13
|
(1) ну ты и лентяй
v8: Работа с NTP |
|||
3
Andreyyy
26.08.11
✎
09:30
|
(2) Нифига не лентяй) яндексил до "последнего"
Спасибо, но файл почему-то 0 байт получается после Попытка XMLHTTP=Новый HTTPConnection("ntp.psn.ru",13); XMLHTTP.Получить("ntp.psn.ru","c:\1sdate"); Исключение КонецПопытки; еще так пробовал: Попытка XMLHTTP=Новый HTTPConnection("time.windows.com",13); XMLHTTP.Получить("time.windows.com","c:\1sdate"); Исключение КонецПопытки; может принципиально не так что-то делаю ? |
|||
4
Wobland
26.08.11
✎
09:37
|
странное какое-то имя файла "time.windows.com"
|
|||
5
Andreyyy
26.08.11
✎
09:39
|
(4) имя файла "c:\1sdate"
HTTPСоединение (HTTPConnection) Получить (Get) Синтаксис: Получить(<Источник>, <ИмяВыходногоФайла>, <Заголовки>) Параметры: <Источник> (обязательный) Тип: Строка. Адрес ресурса на сервере. <ИмяВыходногоФайла> (обязательный) Тип: Строка. Имя файла, в который помещаются данные полученного ресурса. <Заголовки> (необязательный) Тип: Строка. Указываются заголовки, добавляемые к запросу на сервер. Текстовые пары вида <Заголовок>:<Значение>, разделяемые комбинацией ВК + ПС. Описание: Получает ресурс из указанного адреса. Доступность: Сервер, толстый клиент, внешнее соединение. |
|||
6
Chai Nic
26.08.11
✎
09:43
|
Однако.. странно как-то вы к ntp-серверу по http-протоколу пытаетесь обратиться.
|
|||
7
Andreyyy
26.08.11
✎
09:43
|
И номер порта пробовал менять на 123, не хочет работать один фиг, но у автора v8: Работа с NTP я так понял получилось все ...
|
|||
8
Wobland
26.08.11
✎
09:44
|
(5) странный адрес ресурса на сервере
|
|||
9
Chai Nic
26.08.11
✎
09:44
|
(7) HTTP - протокол, основанный на TCP. NTP - на UDP. Общего между ними только буква P.
|
|||
10
Andreyyy
26.08.11
✎
09:45
|
(8) Если б я еще понимал что в протоколах ...
Как быть то ? |
|||
11
Andreyyy
26.08.11
✎
09:46
|
(10) к (9)
|
|||
12
Chai Nic
26.08.11
✎
09:46
|
Тут внешняя компонента нужна или можно тупо запускать утилитку типа ntpdate и парсить вывод.
|
|||
13
Chai Nic
26.08.11
✎
09:47
|
Типа так
ntpdate -buq ntp.ru > file.txt |
|||
14
Andreyyy
26.08.11
✎
09:51
|
Ошибка в консоли:
"ntpdate" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. |
|||
15
Chai Nic
26.08.11
✎
09:52
|
(14) Так её в винде по умолчанию нет. Надо найти на бескрайних просторах интернета.
|
|||
16
ДенисЧ
26.08.11
✎
09:52
|
(14) net time
|
|||
17
Chai Nic
26.08.11
✎
09:54
|
(16) net time не умеет запрашивать время по NTP
|
|||
18
sttt
26.08.11
✎
10:28
|
фиг знает у меня так работает:
Попытка XMLHTTP=Новый HTTPConnection("time.nist.gov",13); XMLHTTP.Получить("time.nist.gov","c:\1sdate"); Исключение КонецПопытки; |
|||
19
Kremlin
26.08.11
✎
10:29
|
Возникла та же проблема.В (2) получается файл 0 байт((
|
|||
20
Chai Nic
26.08.11
✎
10:36
|
(18) Да это работает, но к NTP это не имеет ни малейшего отношения. Просто этот сервер выдает строчку со временем по http на 13 порту tcp.
|
|||
21
Chai Nic
26.08.11
✎
10:44
|
(+20) Поправлюсь - это протокол не HTTP, а DAYTIME. Однако, опять-таки к NTP отношения не имеет, и далеко не каждый NTP-сервер отзывается на DAYTIME. И этот протокол вообще не предназначен для задач точного времени.. это чисто тестово-информационный сервис.
|
|||
22
sttt
26.08.11
✎
10:44
|
ну тогда так:
net time \\NTP_Server_Name /set /y |
|||
23
Asmody
26.08.11
✎
10:45
|
вообще-то такие вещи на уровне ОС решать надо
|
|||
24
sttt
26.08.11
✎
10:50
|
еще так:
'==================================================== ' VBScript Source File -- Created with XLnow OnScript ' SynchTime.vbs ' AUTHOR: Guy Thomas ' COMPANY: Computer Performance ' DATE: January 2006 Version 3.2 ' COMMENT: Script to synchronize with the Time service '===================================================== Option Explicit Dim objShell Dim intShortSleep, intLongSleep, strService Dim strTimeSrv, timeBefore, timeAfter, timeDiff Set objShell = CreateObject("WScript.Shell") strService = "w32Time" intShortSleep = 3000 intLongSleep = 6000 '1000 = 1 second ' Time Server set (Remove ' Rem if you want to change) strTimeSrv = "time-a.nist.gov" 'strTimeSrv = "uk.pool.ntp.org" ' Use .Run method to configure the time server objShell.Run "w32tm /config /syncfromflags:manual /manualpeerlist:"_ & strTimeSrv Call Restart() ' Collect time before the script synchronizes timeBefore = DatePart("s" , Now) + DatePart("n" , Now) *60 timeBefore = timeBefore + DatePart("h", Now) *3600 ' Key command to resynchronize with time server objShell.Run "w32Tm /resync /rediscover" Wscript.Sleep intShortSleep timeAfter = DatePart("s" , Now) + DatePart("n" , Now) *60 timeAfter = timeAfter + DatePart("h", Now) *3600 ' Cosmetic section to display the clock adjustment timeDiff = (timeAfter - timeBefore) - (intShortSleep/1000) If timeDiff < 0 then WScript.Echo "Clock was fast by " & -timeDiff & " secs" ElseIf timeDiff > 0 then WScript.Echo "Clock was slow by " & timeDiff & " secs" ElseIf timeDiff = 0 then WScript.Echo " Clock synchronized " & timeDiff & " difference" End if WScript.Quit Sub Restart() ' Restart Service objShell.Run "net stop " & strService objShell.Run "net start " & strService Wscript.Sleep intLongSleep End Sub |
|||
25
Andreyyy
26.08.11
✎
11:20
|
Всем огромное спасибо, кучу рабочих вариантов показали.
|
|||
26
ДенисЧ
26.08.11
✎
11:21
|
(17) что-то новенькое...
|
|||
27
shuhard
26.08.11
✎
11:27
|
(26) старенькое
net time работает по SNTP |
|||
28
Chai Nic
26.08.11
✎
11:33
|
(22) Он тогда синхронизирует системное время, а надо только запросить, локальное время при этом не должно меняться по условиям задачи...
(27) net time получает время, используя rpc. А не ntp или sntp (который по сути урезанный ntp). Ключи /setsntp и /querysntp в этой команде - инородцы, и к запросу времени отношения не имеют. |
|||
29
Chai Nic
26.08.11
✎
11:38
|
Еще вариант без установки допсофта. Слегка геморно, но реально.
Запускаем "w32tm /stripchart /computer:ntp.ru /samples:1", парсим вывод, анализируем расхождение с системным временем, и получаем точное время. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |