Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Sincronizar Servidores

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Sincronizar Servidores Responder citando

Hola,

Tengo dos aplicaciones que trabajan con la misma base de datos, y estan ejecutandose en dos equipos diferentes. El problema q estoy teniendo es que al coger la hora del sistema, no es la misma en un equipo q en el otro. Yo la pongo a ojo, mas o menos, en los dos equipos, pero no se porque motivo se me descompasan, y la hora es critica en la aplicacion.

He leido por el foro que hay alguna manera para sincronizar con servidores de horas, o simplemente sincronizar un equipo con otro. ¿Alguien me podria decir como se hace esto?

Saludos y muchas gracias a todos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Me uno a lapregunta.. tengo una aplicacion con 4 equipos corriendo en distintas localizades y un servidor de respaldo en la oficna.. no se por que demoni0os las horas y aveces las fechas cambian

Como sincronizar la fecha y la hora enbase a un equipo server?
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

La verdad no lo he hecho nunca, pero me parecia haber visto un componente en la paleta FastNet de Builder que tenia una descripcion con esas caractaristicas. El componente se llama NMDayTime y esto es lo que dice su ayuda:


Cita:
Description

The TNMDayTime component is used for getting the date and time from Internet daytime servers, as described in RFC 867.


Tal vez esto les sirva para empezar, aunque repito, no lo he usado nunca.

Saludos!
_________________
"Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez

Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

Muchas gracias Viktor. Lo intentare por ahi a ver si consigo algo. Agradeceria a alguien que lo haya conseguido nos diga como lo hizo.

Saludos compis Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: TimeServer y Cliente Sencillo Responder citando

Soy mexicano y tambien participamos

ahi te va "Atacaite"

espero te sirva...




Cliente
--------------------------------------------------------------------------------
1.- Crea una Forma

2.- Agrega un FastNet=>NMDayTime Cambia las propiedades como se indica
NMDayTime1->TimeOut=1000;
NMDayTime1->Host="192.168.2.22"; // Servidor de Hora.

3.- Agrega un boton Standard=>Button y cambia la propiedad que sigue.
Button1->Caption="Sincronizar";

4.- Implemeta los siguientes eventos

void __fastcall TForm1::Button1Click(TObject *Sender)
{
NMDayTime1->Connect();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::NMDayTime1Connect(TObject *Sender)
{AnsiString s;
s = NMDayTime1->ReadLn();
Edit1->Text = NMDayTime1->Host;
NMDayTime1->Disconnect();
/*
aqui has lo que quieras con el string de la hora que recibiste.
recibiras un String segun RFC 867
*/
}
//---------------------------------------------------------------------------


Servidor
--------------------------------------------------------------------------------
1.- Crea una Forma
2.- Agrega un Internet=>ServerSocket Cambia las propiedades como se indica
ServerSocket1->Port=13;
ServerSocket1->Service="daytime";
ServerSocket1->Active=true;

3.-Implementa los siguientes Eventos y Funciones

AnsiString TForm1::DayTimeStr867(TDateTime dt){
unsigned short d,mes,y;
unsigned short h,m,s,ss;
AnsiString s1;
dt.DecodeDate(&y,&mes,&d);
dt.DecodeTime(&h,&m,&s,&ss);
s1.sprintf("%02d %3s %02d %02d:%02d:%02d PST\r\n",
d,MesesTimeServer[mes-1],y, h,m,s);

return(s1);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
TCustomWinSocket *Socket){
AnsiString daytime;
daytime=DayTimeStr867(Now());
Socket->SendText(daytime);
Socket->Close();
}


Es para que te des una idea, pero en realidad el AnsiString que regresa
DayTimeStr867, lo puedes formatear como quieras. pero normalmente este es el formato.


Si tienes un servidor de Windows 2000 o Linux, activa el servicio de datetime o daytime y no necesitas implementar la parte del Servidor.
Asi de Simple

este ip es uno real "128.138.140.44", puedes hacer pruebas con el.
si por casualidad, quieres escribirme para decirme gracias, te lo agradecere.
Volver arriba
Mensaje    Asunto: Responder citando

wow..gracias!!!
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Muchas gracias JoseAlonzo. Impresionante codigo. Voy a probarlo a ver si me va bien.

Muchas gracias jefe Wink Wink Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Fe de ERRATAS:

Tuve un pequeño error en una linea de la funcion "NMDayTime1Connect"
elimina esta linea:

Edit1->Text = NMDayTime1->Host;
esa la habia puesto para prueba.


Ah, y no necesitaban decir gracias, fue una broma de mal gusto, la consiencia me lo estuvo reclamando (mi compañera de trabajo EDITH, por odioso)
Volver arriba
Mensaje    Asunto: Mas datos de la aplicacion Responder citando

Te va a faltar esto, porque se utiliza y no lo inclui

char *MesesTimeServer[]={"ENE","FEB","MAR", "ABR","MAY","JUN","JUL","AGO","SEP","OCT","NOV","DIC",NULL};
_________________
Lo que no te mata, te hace mas fuerte
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.