Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 11-10-2016
MARX MARX is offline
Miembro
NULL
 
Registrado: abr 2016
Posts: 35
Poder: 0
MARX Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
Honestamente no se puede hacer lo que dices. Para notificar desde la una que la otra esta desconectada, pues tienen que tener conexion!

----

Lo que se hace es que se define un "timeout" y un metodo de "ping" que corre dentro de la ventana del timeout. Si el ping falla, se asume que esta desconectado. Algunos componentes tienen esa opcion automatica.

La otra, es que debes mejorar el codigo que hace los envios. No deberia "colgar" la app (usas un thread aparte, como debe ser?).

SIN EMBARGO

La UNICA forma confiable de saber si hay o no conexión es HACIENDO LA CONEXION.

UNICA FORMA.

Todo lo demas son simples aproximaciones.

Es lo que estoy haciendo hasta ahora. Ya había probado modificando el tiempo de ConnectTimeout pero no funciona la conexión, probé con un valor de 1, 10, 50, 100, 500, 800, 1000, etc pero no funciona. Poniendo un tiempo diferente a 0 me tira siempre un el error "Connect timed out".

Me interesa lo del thread a parte ¿Como puedo hacer para usar un thread a parte?



Cita:
Empezado por Neftali Ver Mensaje
No acabo de entender...
A no ser que te refieras a saber si las aplicaciones están funcionando (no conectadas entre si).

porque una vez que se conectan desde ambos extremos tienen los eventos de conexión/desconexión.

Lo que quiero hacer es que el servidor se de cuenta que terminales están conectadas y que las terminales se den cuenta si el servidor está conectado sin que la PC se cuelgue mientras espera la respuesta del otro lado.
Lo que hago ahora es que en el evento OnCreate del servidor envíe un dato avisando a las terminales que se conectó, el problema está en que cuando manda el dato a las terminales que no están conectadas se queda un rato esperando la respuesta. Eso hace que la aplicación tarde en iniciar y queda a medio abrir.
Solucioné gran parte del problema determinando al iniciar el programa cuales son las terminales conectadas y guardando en una tabla esa información, entonces no le envío datos a las terminales que figuran como desconectadas. Cuando una de las terminales que estaban desconectadas se conecta modifico esa info en la tabla.
Entonces solo tardaría para determinar las terminales conectadas y desconectadas cuando inicio el programa, en el resto del programa se va enterando en el proceso de ejecución cuando se conectan y cuando se desconectan las terminales.
Y lo mismo hago con las terminales para saber si el servidor está conectado.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿ Cómo saber que cliente de correo está instalado por defecto en un PC ? Aldo Internet 5 12-06-2013 11:58:15
Como saber si una aplicacion esta instalada ColdFusion Varios 7 07-04-2009 02:45:51
Puedo saber si esta Conectada? (InterBase) marceloalegre Conexión con bases de datos 2 17-08-2005 21:35:12
Saber si una unidad de Red esta conectada comba API de Windows 2 18-04-2005 19:57:02
Como Saber Que Aplicacion Se Esta Ejecutando ??? TomasCampeon API de Windows 1 12-08-2004 03:23:26


La franja horaria es GMT +2. Ahora son las 16:58:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi