Ver Mensaje Individual
  #10  
Antiguo 12-10-2016
MARX MARX is offline
Miembro
NULL
 
Registrado: abr 2016
Posts: 35
Reputación: 0
MARX Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
Presta atencion a lo que se te dice:

NO SE PUEDE HACER.

Lo que estas pidiendo es un *sin sentido*. Lo unico que se puede hacer es una heuristica.



No. Estas haciendo cosas sin entender como funcionan. Adivinando no se llega a ningun lado. ConnectTimeout solo dice en cuanto tiempo se desiste de intentar la conexion. Aumentar solo hara mas larga la espera en una conexion fallida. No tiene otra implicacion.



Este es tu problema? Entonces en vez de inventar una "solucion" que no funciona (porque no estas teniendo en cuenta como funcionan las redes) y luego al ver que no es la solucion estas tratando de aplicar otra solucion sobre la falla. Asi solo estas complicandote la vida.

Debes entender que la conexion va a fallar. Asi que en vez de tratar de encontrar la forma de que "no falle", es reaccionar *correctamente*. Intenta la conexion, pon un timeout corto (o el por defecto) y procede acorde. Recibe cuando los clientes se conecten que ya hay otra vez linea y procede.

Si te esta bloqueando la ejecucion es porque no estan usando codigo asincronico o un thread aparte para la comunicacion, Busca en el foro al respecto.

Pero principalmente, trata de entender como funcionan las redes para que no des palos de ciego.

---

P.D: En estos casos es muy util si haces un diagrama de maquina de estado, y analizas que debes hacer en cada estado, luego lo codificas. Eso resultara en un codigo mas correcto.
Creo que no me has entendido.

1)- En ningún momento intenté sobre el error como me has dicho. Solo dije como solucione, hasta ahora, el problema que tengo con el tiempo de verificación de estado de los terminales. Estoy acá buscando una solución mas eficiente.
4)- Nunca intenté inventar una solución porque no propuse ninguna, solo comuniqué lo que hice. Acá estoy para encontrar una respuesta.
2)- Probé, antes de traer esta inquietud al foro, con valores bajos en la propiedad ConnectTimeout, para que la aplicación cliente desista antes si la conexión es fallida, pero eso me trajo el problema de que poniendo cualquier valor distinto de cero, me aparezca el error "Connect timed out", no importa que valor ponga, si 1 o 2 o 1000. Subí los tiempos de ConnectTimeout porque pensé que el problema de que me apareciera el error todo el tiempo era porque ponía tiempos muy bajos. Solo volviendo el valor a cero hacía la conexión con las terminales en ejecución.
3)- Entiendo bien que algunas conexiones van a fallar, por eso busco una alternativa para solucionar el alto tiempo de inicio al intentar determinar cuales son los terminales desconectados. Por eso me interesé en el tema que propusiste sobre los "thread".

No soy una persona necia, vine a este foro a comunicar cual es el problema con el que me encontré, brindando los datos de los procedimientos que implementé.
En ningún momento me empeciné en resolver el problema siguiendo únicamente la linea que venía siguiendo.

Espero la próxima vez seas mas paciente al leer y me ayudes a encontrar una solución.

PD: No soy un Ing. en sistema, solo soy un simple ingeniero en Electrónica que le fascina la programación tanto como la electrónica.


Saludos
MARX
Responder Con Cita