Ver Mensaje Individual
  #1  
Antiguo 21-02-2005
mutabal mutabal is offline
Registrado
 
Registrado: feb 2005
Posts: 2
Reputación: 0
mutabal Va por buen camino
Exclamation TCPServer y TCP Client

Hola a Tod@s l@s que lean el mensaje. Tengo una aplicación cliente (TCPClient) que manda mensajes de texto a la aplicacion Servidor (TCPServer). El Objeto TcpServer me crea en el evento OnExecute un TIdPeerThread por cada conexion que establece. En este evento es donde trato el mensaje:

procedure TForm1.tcpServerExecute(AThread: TIdPeerThread);
var
texto : string;
begin
try
AThread.FreeOnTerminate:= True;
AThread.Connection.ReadTimeout := 600000;
texto := AThread.Connection.ReadLn;
if flog.produccion then Flog.AgnadirMensaje(' <= MENSAJE RECIBIDO: ' + texto + ' - (tcpServerExecute)');
TratarMensaje(texto,AThread);
except
on e: exception do
begin
if flog.produccion then Flog.AgnadirMensaje(' ** ERROR: ' + e.Message + ' - (tcpServerExecute)');
end;
end;
athread.Connection.Disconnect;
athread.Free;
end;

Pues bien, parece que todo hasta ahi está correcto, el problema viene cuando genero mensajes masivamente para probar el rendimiento del programa Servidor, y este se queda colgado como por problemas de memoria. como esta mi software, entiendo que el problema puede ser por establecer 350 conexiones en un momento y eso ocupa muchos recursos, pero limitanto esto a 15 mensaje cada vez tb ocurre. Me gustaria que alguien me diera algun consejo de como afrontar el problema porque se me estan acabando las ideas y no veo solucion aparente. Intente limitar las conexiones a 15 en MaxConnection pero conozco muy poco de este objeto para saber donde controlar sus excepciones. Tb agracederia que me dijerais donde encontrar informacion sobre este objeto de Indy. Gracias a Tod@s.

Última edición por mutabal fecha: 21-02-2005 a las 12:58:35. Razón: Corregir
Responder Con Cita