Hola:
Tengo algo similar a:
Código Delphi
[-]
...
FClient:= TIdTCPClient;
...
while FClient.InputBuffer.Size > 0
begin
FClient.ReadStream(FStream, x);
...
end;
...
Lo que pretendo es ir leyendo fragmentos del bufer.
En primer lugar consulto si hay datos con InputBuffer.Size, pero siempre me devuelve 0 la primera vez, sin embargo si hago una lectura previa de, por ejemplo 1 byte, si me devuelve un valor correcto.
Realizo una comprobación previa con InputBuffer.Size, porque si realizo una lectura sobre un bufer que esté vacío, se produce una excepción y se cierra el cliente, cosa que quiero impedir.
Uso Delphi 7 / Indy 9
Muchas gracias de antemano.