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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-10-2016
MARX MARX is offline
Miembro
NULL
 
Registrado: abr 2016
Posts: 35
Poder: 0
MARX Va por buen camino
Como saber si está conectada la aplicación cliente

Hola a todos.
Vengo con una pregunta que espero me la sepan responder.
Tengo dos aplicaciones, un servidor y un cliente, ambas en maquinas diferentes.
Las dos aplicaciones se envían datos la una a la otra por medio de una conexión cliente/servidor de la herramienta Indy
La pregunta es la siguiente ¿hay alguna forma de saber desde el servidor cuando el cliente está conectado o desde el cliente cuando el servidor está conectado?.
Lo que yo estoy haciendo ahora es enviar un comando y detectar la excepción si no hay respuesta del otro lado. El problema de este método es que la aplicación se queda sin responder y parece colgada hasta que determina que no hay respuesta.
Si pudiera enviar un ping a un programa determinado podría solucionar el problema ya que un ping determina rápidamente si hay respuesta del otro lado o no.

Se me había ocurrido hacer un ping con IdIcmpClient, pero con este solo pude hacer un ping a la PC, no a la aplicación y solo ejecutando la aplicación servidor como administrador

Espero me puedan ayudar

Saludos
MARX
Responder Con Cita
  #2  
Antiguo 10-10-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Estás conectando con sockets?
¿Qué componentes estás utilizando para la conexión?
¿TidTCPClient, TidTCPServer?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 10-10-2016
MARX MARX is offline
Miembro
NULL
 
Registrado: abr 2016
Posts: 35
Poder: 0
MARX Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
¿Estás conectando con sockets?
¿Qué componentes estás utilizando para la conexión?
¿TidTCPClient, TidTCPServer?
Hola Neftali.
Efectivamente, estoy utilizando TidTCPClient y TidTCPServer.
Responder Con Cita
  #4  
Antiguo 10-10-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Revisa los eventos de estos componentes. Poseen unos llamados OnConnected y OnDisconnected.
Deberían servirte para lo que necesitas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 10-10-2016
MARX MARX is offline
Miembro
NULL
 
Registrado: abr 2016
Posts: 35
Poder: 0
MARX Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Revisa los eventos de estos componentes. Poseen unos llamados OnConnected y OnDisconnected.
Deberían servirte para lo que necesitas.
Pero esos eventos ocurren cuando se conecta o se desconecta, no creo que me sirva para determinar si la aplicación que está en la otra PC está conectada o no.
¿o me equivoco?

No tengo idea si la herrmienta TIdEcho y TIdECHOServer me puede servir para esto
Responder Con Cita
  #6  
Antiguo 10-10-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
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.
__________________
El malabarista.
Responder Con Cita
  #7  
Antiguo 10-10-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por MARX Ver Mensaje
¿hay alguna forma de saber desde el servidor cuando el cliente está conectado o desde el cliente cuando el servidor está conectado?
Cita:
Empezado por MARX Ver Mensaje
Pero esos eventos ocurren cuando se conecta o se desconecta, no creo que me sirva para determinar si la aplicación que está en la otra PC está conectada o no.
¿o me equivoco?
No acabo de entender...
A no ser que te refieras a saber si las aplicacione están funcionando (no conectadas entre si).

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

__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



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 17:03:46.


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