none
c# - Sincronización de hora con servidor RRS feed

  • Pregunta

  • Buen día,

    Quisiera que alguien por favor me pudiera dar un ejemplo de código de como sincronizar la hora del sistema (Windows) con un servidor, por ejemplo, 2 pcs en una lan donde el pc1 es el servidor y el pc2 es el clientes, la idea es que al ejecutar la aplicación desde el pc2, este sincronice a la hora con la hora que tiene el servidor (pc1), la idea es que se pudiera ingresar la ip del servidor para puedan sincronizar, alguien tiene alguna idea?

    Saludos y gracias.


    No hay que confundir nunca el conocimiento con la sabiduría. El primero nos sirve para ganarnos la vida; la sabiduría nos ayuda a vivir. (Sorcha Carey)



    viernes, 21 de marzo de 2014 6:11

Respuestas

Todas las respuestas

  • Hola Claudio,

    Estás en una red con dominio ActiveDirectory?

    Si es así lo mejor es que utilices el servicio propio del servidor (Time Service):

    http://blogs.msdn.com/b/w32time/archive/2008/02/26/configuring-the-time-service-ntpserver-and-specialpollinterval.aspx

    Si no es así, es bastante más complicado.

    1 - Primero tienes que preguntar la hora al servidor:

    http://stackoverflow.com/questions/1008111/get-the-exact-time-for-a-remote-server

    (en este mismo link tienes un ejemplo de cómo crear un cliente NTP para sincronizarlo)

    2 - Y posteriormente cambiar la hora en el cliente si es distinta:

    http://stackoverflow.com/questions/650849/change-system-date-programatically

    Por otro lado, si tienes un servidor SQL basta con que le preguntes la hora al servidor SGL con la función SELECT GETDATE()

    Saludos,


    No olvides marcar la respuesta como correcta si te ha sido de utilidad :-) Follow me on Twiiter: @lluisfranco Blog: lluisfranco.com

    • Marcado como respuesta Claudio Orrego sábado, 22 de marzo de 2014 8:15
    viernes, 21 de marzo de 2014 9:56
    Moderador
  • hola

    pero estas estas pcs en un mismo dominio de red ? lo pregunto porque si es asi Windows sincroniza las horas de forma automatica no necesitas ahcer nada para sincronizar

    Configuring Time Synchronization for all Computers in a Windows domain

    a donde voy es que desde codigo no haces nada, es configuracion del dominio para que lo realice automatico

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 21 de marzo de 2014 11:25
  • Hola Luis

    Gracias por darte el tiempo de responder, muchas gracias.

    Tengo una aplicación POS, en cada computador existe la aplicación donde todos consultan, actualizan y eliminan datos si es necesario del servidor, la idea es crear un programa que se actualice la hora con el servidor, para que asi los datos que se ingresan sean mas fidedignos y para así evitar robos de productos.

    La idea es crear la aplicación y hacerla que se ejecute antes de que se inicie mi aplicacion POS para que sincronicen la hora, con la hora que tiene el servidor.


    No hay que confundir nunca el conocimiento con la sabiduría. El primero nos sirve para ganarnos la vida; la sabiduría nos ayuda a vivir. (Sorcha Carey)

    sábado, 22 de marzo de 2014 0:04
  • Si Leandro todos están en el mismo dominio

    Gracias por responder


    No hay que confundir nunca el conocimiento con la sabiduría. El primero nos sirve para ganarnos la vida; la sabiduría nos ayuda a vivir. (Sorcha Carey)

    sábado, 22 de marzo de 2014 0:05
  • en cada computador existe la aplicación donde todos consultan,

    pero estas computadoras estan dentro del dominio de este servidor ? porque si lo estan podria ser el mismo windows por politica sincronizar los relojes de todas esas PCs y nadie podrian cambiarlo porque se vuelven a sincronizar

    si esto es asi es windows quien se encarga tu desde la aplciaicon no haces nada solo usas el DateTime.Now para tomar la fecha y hora local porque windows ya la habra sincronizado con el servidor de dominio

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    sábado, 22 de marzo de 2014 0:08