Problema con sockets

24/05/2005 - 19:35 por Francisco del Valle | Informe spam
Hola. He desarrollado un par de aplicaciones que se comunican mediante
sockets. Básicamente, cada X tiempo la aplicación A le pide a la B su
información
de estado y la muestra por pantalla. Mi problema es que al cabo de un tiempo
(una hora más o menos) la aplicación que monitoriza (A) se cierra sin más.
He
pensado que tal vez se podría estar agotando la memoria por algo, así que he
probado a meter un GC.Collect() cada 1000 iteraciones (por no ralentizar
demasiado), pero sigo teniendo el mismo problema. ¿Alguna sugerencia?


Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
24/05/2005 - 21:42 | Informe spam
Francisco,

¿Estás estableciendo el valor del parámetro ReceiveTimeout del Socket?
Auméntalo a ver si el comportamiento de la aplicación cambia:

http://msdn.microsoft.com/library/d...tTopic.asp

Tal vez puedan ir por ahí los tiros. Cuando dices "la aplicación se cierra
sin más" es porque se produce una excepción no manejada cuando el socket
queda a la espera más tiempo del establecido.

Slds - Octavio

"Francisco del Valle" escribió en el mensaje
news:
Hola. He desarrollado un par de aplicaciones que se comunican mediante
sockets. Básicamente, cada X tiempo la aplicación A le pide a la B su
información
de estado y la muestra por pantalla. Mi problema es que al cabo de un
tiempo (una hora más o menos) la aplicación que monitoriza (A) se cierra
sin más. He
pensado que tal vez se podría estar agotando la memoria por algo, así que
he probado a meter un GC.Collect() cada 1000 iteraciones (por no
ralentizar demasiado), pero sigo teniendo el mismo problema. ¿Alguna
sugerencia?


Muchas gracias.

Respuesta Responder a este mensaje
#2 Francisco del Valle
24/05/2005 - 23:40 | Informe spam
Ok, lo probare ahora. ¿Que valor de timeout me recomiendas? (Voy a probar
con 100 milisegundos, igual es demasiado)


"Octavio Hernandez" escribió en el mensaje
news:
Francisco,

¿Estás estableciendo el valor del parámetro ReceiveTimeout del Socket?
Auméntalo a ver si el comportamiento de la aplicación cambia:

http://msdn.microsoft.com/library/d...tTopic.asp

Tal vez puedan ir por ahí los tiros. Cuando dices "la aplicación se cierra
sin más" es porque se produce una excepción no manejada cuando el socket
queda a la espera más tiempo del establecido.

Slds - Octavio

"Francisco del Valle" escribió en el mensaje
news:
Hola. He desarrollado un par de aplicaciones que se comunican mediante
sockets. Básicamente, cada X tiempo la aplicación A le pide a la B su
información
de estado y la muestra por pantalla. Mi problema es que al cabo de un
tiempo (una hora más o menos) la aplicación que monitoriza (A) se cierra
sin más. He
pensado que tal vez se podría estar agotando la memoria por algo, así que
he probado a meter un GC.Collect() cada 1000 iteraciones (por no
ralentizar demasiado), pero sigo teniendo el mismo problema. ¿Alguna
sugerencia?


Muchas gracias.





Respuesta Responder a este mensaje
#3 Alfredo Novoa
24/05/2005 - 23:46 | Informe spam
On Tue, 24 May 2005 19:35:29 +0200, "Francisco del Valle"
wrote:

He
pensado que tal vez se podría estar agotando la memoria por algo, así que he
probado a meter un GC.Collect() cada 1000 iteraciones (por no ralentizar
demasiado), pero sigo teniendo el mismo problema. ¿Alguna sugerencia?



Puedes comprobar fácilmente si se trata de un problema de memoria
usando el administrador de tareas de Windows.


Saludos
Respuesta Responder a este mensaje
#4 Francisco del Valle
25/05/2005 - 02:24 | Informe spam
He probado hasta con 30 minutos de timeout, y sigue fallando igual. He
metido un try,catch en todos los métodos del programa, pero no captura
ninguna excepción. Y lo más raro de todo es que siempre dura más o menos lo
mismo hasta que se cierra: unos 50 minutos (con una conexion cada 200
milisegundos).


"Francisco del Valle" escribió en el mensaje
news:uew$
Ok, lo probare ahora. ¿Que valor de timeout me recomiendas? (Voy a probar
con 100 milisegundos, igual es demasiado)


"Octavio Hernandez" escribió en el mensaje
news:
Francisco,

¿Estás estableciendo el valor del parámetro ReceiveTimeout del Socket?
Auméntalo a ver si el comportamiento de la aplicación cambia:

http://msdn.microsoft.com/library/d...tTopic.asp

Tal vez puedan ir por ahí los tiros. Cuando dices "la aplicación se
cierra sin más" es porque se produce una excepción no manejada cuando el
socket queda a la espera más tiempo del establecido.

Slds - Octavio

"Francisco del Valle" escribió en el mensaje
news:
Hola. He desarrollado un par de aplicaciones que se comunican mediante
sockets. Básicamente, cada X tiempo la aplicación A le pide a la B su
información
de estado y la muestra por pantalla. Mi problema es que al cabo de un
tiempo (una hora más o menos) la aplicación que monitoriza (A) se cierra
sin más. He
pensado que tal vez se podría estar agotando la memoria por algo, así
que he probado a meter un GC.Collect() cada 1000 iteraciones (por no
ralentizar demasiado), pero sigo teniendo el mismo problema. ¿Alguna
sugerencia?


Muchas gracias.









Respuesta Responder a este mensaje
#5 Alfredo Novoa
25/05/2005 - 10:37 | Informe spam
On Wed, 25 May 2005 02:24:26 +0200, "Francisco del Valle"
wrote:

Y lo más raro de todo es que siempre dura más o menos lo
mismo hasta que se cierra: unos 50 minutos (con una conexion cada 200
milisegundos).



¿Y seguro que estás cerrando bien todas las conexiones que abres?


A mi me parece que el problema puede venir por ahí.


Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida