PDA

Ver la Versión Completa : Re-conexion automatica de un cliente


Vultur
11-02-2005, 04:22:24
Hola

Es mi primera participacion en este foro, asi que aprovecho pasa saludarlos a todos. He visto muy buena onda por aca ademas de muchos conocimiento...

Bueno, basta de alabanzas, :) mi problema es que estoy desarrollando una aplicacion cliente servidor usando los componentes TServerSocket y TClientSocket. Mi problema surje cuando quiero asegurarma que ante algun problema de el server no este online, el cliente intente conectarse repetidamente hasta lograrlo. En esto se me ocurren 2 situaciones, una que cuando el cliente se trata de conectar al server y este esta offline y la otra que estando conectado el cliente repentinamente el server queda offline

Para la primera puse esto, cumple con su objetivo

//---------------------------------------------------------------------------
void __fastcall TMainForm::ClientSocket1Error(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
if (ErrorCode == 10061 /*|| ErrorCode == 10053 */){
unsigned int inicial = GetTickCount();
unsigned int diferencia = inicial;
while (diferencia - inicial<500){
diferencia = GetTickCount();
}
ErrorCode = 0;
ClientSocket1->Open();
}
}
//---------------------------------------------------------------------------

Para la segunda opcion creia que el codigo de error era 10053, pero resulta que no me genera un codigo de error. Intente poner un ClientSocket1->Open() en el evento OnDisconnect() pero no funciona. Es decir intenta abrirlo desde ahi, pero al no lograrlo sigue de largo por asi decirlo. ¿Alguna idea de como hacerlo?

Saludos

Luis