PDA

Ver la Versión Completa : como obtener hora desde internet


mercurio
17-06-2003, 18:28:38
buenas.....
necesitaria saber como puedo hacer para obtener de internet para actualizar la hora de mi programa.

desde ya muhcas gracias.

kinobi
17-06-2003, 18:54:29
Hola,

por ejemplo utilizando un servidor SNTP o NTP. Existen multitud de ellos de acceso público en la red. Para sincronizarte o bien utilizas un cliente que se comunique con el servidor, o bien te creas tú el cliente utilizando alguno de los protocolos anteriores para hacerlo. Imagino que alguna de las bibliotecas de componentes de acceso a Internet (tipo Indy y similares) te darán soporte para ello.

Saludos.

German
27-07-2005, 11:09:25
Un poco "tarde" para mi respuesta :rolleyes: ... pero como no he encontrado solución en ningun otro post, lo publico aqui, por si alguien lo necesita.

He probado el componente que viene con las Indy 10 para conectar via SNTP/NTP con un "servidor de hora" (time server) y no ha habido manera.

He utilizado unas librerias TCP/IP llamadas "synapse" (http://www.ararat.cz/synapse/), y con estas si que ha funcionado todo correctamente.

uses ... SNTPsend ...

procedure TForm1.Button1Click(Sender: TObject);
var sntp:TSntpSend;
begin
label1.Caption := 'Fecha y hora: CONECTANDO...'; Update;
sntp:=TSntpSend.Create;
sntp.TargetHost := 'time.windows.com';
sntp.Timeout := 5000;
try
if sntp.GetSNTP then label1.Caption := 'Fecha y hora: '+Datetimetostr(sntp.NTPTime)+' GMT'
else label1.Caption := 'Fecha y hora: IMPOSIBLE CONEXIÓN A SERVIDOR';
finally
sntp.Free;
end;
end;

Lista de servidores de hora:
http://support.microsoft.com/default.aspx?scid=kb;es;262680

Salu2

cybsistemas
18-10-2005, 03:35:21
IdSNTP1.Host := 'time.windows.com';
label1.Caption := 'Fecha y hora: '+Datetimetostr(IdSNTP1.DateTime);Y te da la hora local, no la del meridiano cero