ConnectionReceive es un evento que se dispara cuando nuestro servidor ha recibido algo de algún cliente.
Tengo el programa bien modularizado con lo que la respuesta del servidor está "lejos" en otros métodos de otras clases, no está dentro del propio OnReceive.
Os pongo un poco cuan "lejos" está:
Código Delphi
[-]
procedure TForm1.ConnectionReceive(aSocket: TLSocket);
var
Mensaje: string;
begin
if aSocket.GetMessage(Mensaje) > 0 then
MiClase.GestionarMensaje(Mensaje, aSocket);
end;
...
procedure MiClase.GestionarMensaje(Mensaje: String; Socket: TLSocket);
begin
GestionarTransaccion(Mensaje, Socket);
end;
procedure MiClase.GestionarTransaccion(Mensaje: String; Socket: TLSocket);
begin
MiOtraClase.Procesar(Mensaje, Socket);
end;
...
procedure MiOtraClase.Procesar(Socket: TLSocket);
begin
try
Socket.SendMessage('Respuesta');
except
end;
end;
¿Sería necesario el try except end o no haría falta porque nunca habría fallo aunque en medio del camino (al saltar de una subrutina a otra) haya una desconexión?
Saludos.