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 26-10-2016
Snaked Snaked is offline
Baneado
NULL
 
Registrado: sep 2016
Posts: 102
Poder: 0
Snaked Va por buen camino
hola MARX una posible solucion que se me ocurre, es que teniendo un servidor en internet tipo hosting linux, crees un archivo_token en algun lugar del servidor y que dicho archivo contenga algo asi como una linea que ponga SERVER_STATUS=0 o SERVER_STATUS=1 de forma que consultando por FTP el contenido de ese archivo sepas si esta en marcha tu aplicacion tipo SERVER o no

Por supuesto la aplicacion SERVIDORA tendria a su vez, que cambiar ese SERVER_STATUS segun entrase en funcionamiento o saliese
y lo mismo respecto a los clientes......refiriendonos a la parte "aplicacion en ejecucion"....es una posible solucion que funciona, yo mismo a veces he utilizado algo asi para algunas cosas....otra cosa a tener en cuenta seria en ese fichero "Token" anotar la direccion IP actualizada de los terminales que se conecten a la red

en la ayuda de C++ Builder viene como crear conectar etc un cliente de FTP sencillo

Última edición por Snaked fecha: 26-10-2016 a las 17:05:39.
Responder Con Cita
  #2  
Antiguo 26-10-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
No.

Porque la app puede caerse ANTES de poder "Cambiar" su estado.

La *UNICA* forma confiable es intentando al conexion y usando timeouts. NO HAY DE OTRA.

Esto se conoce como el problema de los 2 generales:

https://es.wikipedia.org/wiki/Proble..._dos_generales
Cita:
En computación, el Problema de los dos generales, también llamado Problema de las dos armadas o Problema del Ataque Coordinado, es un experimento mental que ilustra los problemas y retos de diseño involucrados en la coordinación de una acción a través de una comunicación a través de un vínculo poco fiable.
Existen formas y algoritmos sofisticados que ayudan, pero todo se reduce al final a lo anterior. NO HAY FORMA de hacer esto confiable, solo con un grado de certeza.

Y lo que te estoy diciendo es por mucho lo mas simple que puede funcionar. El truco, como dice el articulo:

Cita:
Un enfoque pragmático para hacer frente al problema de los dos generales es utilizar esquemas que acepten la incertidumbre del canal de comunicaciones y no intente eliminarla, sino mitigarla hasta un grado aceptable.
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 26-10-2016
MARX MARX is offline
Miembro
NULL
 
Registrado: abr 2016
Posts: 35
Poder: 0
MARX Va por buen camino
Gracias por sus respuestas.
Solucioné el problema hace unos días utilizando el timeout en 500 y hago la comprobación de la conexión de las terminales en otro hilo.
Investigando el tema que me propuso mamcx sobre los thread a parte, hago la comprobación del estado de las terminales en paralelo y ya no se me cuelga el programa mientras chequea las terminales.
Muchas gracias a todos. Me han ayudado mucho y he aprendido a utilizar una herramienta muy importante.

Saludos y hasta la próxima
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 00:26:31.


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