Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

ClientSocket: Aumento de memoria.

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: ClientSocket: Aumento de memoria. Responder citando

Tengo una aplicación que ha de usar necesariamente el ClientSocket para comunicarse con otra aplicación.

Para que esta aplicación sea autónoma, va haciendo reintentos de conexión hasta que encuentra la aplicación servidor para conectarse. Y el problema está en que mi aplicación va aumentando de memoria mientras esté haciendo reintentos de conexión.

Mas en detalle, mi "reintento de conexión" consiste en lo siguiente:

-Llamo al método Open() para establecer conexión
-El socket primero me llama al evento 'OnLookup' indicando que está buscando una conexión.
- El Socket me llama después al evento 'OnConnecting' para indicarme que se está conectando.
- El socket llama finalmente al evento 'OnError' para indicarme que no se ha podido establecer la conexión.
Despues espero 10 seg, i vuelvo otra vez a reintentar la conexión.

En fin, quiero pensar que no estoy utilizando bien este componente, aunque pienso que como utilizo este componente si ser bloqueante (en la lectura y escritura), al intentar establecer la conexión, abre una serie de threats o hilos que después, cuando da el evento de error, no es capaz de eliminarlos.

Por cierto, utilizo la verión 5.0 del Builder.

Gracias por todo.


Volver arriba
Mensaje    Asunto: ClientSocket: Aumento de memoria. Responder citando

Revisa bien el código que has puesto en los distintos eventos. Yo he utilizado una aplicación de pruebas con un ClientSocket intentando varias conexiones y no ha afectado a la memoria. Lo he revisado con el MemProf.
Volver arriba
Mensaje    Asunto: ClientSocket: Aumento de memoria. Responder citando

Primero de todo, muchas gracias por contestar el mi pregunta, Jose.

Sobre tu respuesta, que yo vea, no hago prácticamente nada en los eventos. Sólo, en el evento onError, pongo la propiedad "Active = false" y activo un timer para esperarme 10 seg. y, finalmente reintento la conexión.

Por lo que interpreto, te has tomado las molestias de probarlo con una aplicación de pruebas, y no has visto que incremente la memoria de la aplicación. La verdad es que no me he explicado correctamente, ya que el augmento de memoria se hace poco a poco (una media de 2Kbytes/hora), y llega una momento, pasado unas 9 horas, en que la aplicación se apaga.

Si me puedes dar tus/vuestras impresiones al respecto, me harias un gran favor, muchas gracias por todo.

Volver arriba
Mensaje    Asunto: ClientSocket: Aumento de memoria. Responder citando

Yo tambien he probado con la version 4 del builder y si que se produce un aumento de memoria cuando la direccion IP a la que apunta el socket no existe. Tambien he probado con un Thread, ctBlocking y creando el componente en ejecucion y el problema persiste. Y no he encontrado nada en la pagina de borland que se refiera a este problema.
Volver arriba
Mensaje    Asunto: ClientSocket: Aumento de memoria. Responder citando

Ya intentaste compilar mediante la configuración para Release, algunas veces se incrementa el uso de memoria por que el depurador cambia el manejador de memoria normal por otro que consume mas memoria (requrido para poder depurar), tambien te recomendaria activar el CodeGuard que vigila el uso de la memoria.

suerte

Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.