 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Atacaite Ens

Registrado: 28 Oct 2003Mensajes: 26Ubicación: Gran Canaria
|
Publicado: Lun 01 Mar, 2004 8:13 pm Asunto: Sincronizar Servidores |
|
|
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 |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Mar 02 Mar, 2004 3:47 am Asunto: |
|
|
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 |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Mar 02 Mar, 2004 3:59 am Asunto: |
|
|
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 |
|
 |
Atacaite Ens

Registrado: 28 Oct 2003Mensajes: 26Ubicación: Gran Canaria
|
Publicado: Mar 02 Mar, 2004 7:19 pm Asunto: |
|
|
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  |
|
| Volver arriba |
|
 |
JoseAlonzo Invitado
|
Publicado: Jue 04 Mar, 2004 2:20 am Asunto: TimeServer y Cliente Sencillo |
|
|
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 |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Jue 04 Mar, 2004 4:23 am Asunto: |
|
|
wow..gracias!!! _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
Atacaite Ens

Registrado: 28 Oct 2003Mensajes: 26Ubicación: Gran Canaria
|
Publicado: Jue 04 Mar, 2004 11:56 am Asunto: |
|
|
Muchas gracias JoseAlonzo. Impresionante codigo. Voy a probarlo a ver si me va bien.
Muchas gracias jefe  |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Jue 04 Mar, 2004 4:37 pm Asunto: |
|
|
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 |
|
 |
JoseAlonzo Cdt

Registrado: 04 Mar 2004Mensajes: 2Ubicación: Tijuana, B.C., Mexico
|
Publicado: Jue 04 Mar, 2004 4:54 pm Asunto: Mas datos de la aplicacion |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|