title: I keep receiving 0 byte from TClientSocket
body: <p>Using DbgView, i saw that after i receive a Stream, the server then receives 0 bytes like more than 100 times, what is this ? this is new to me, i never saw this happening. </p>
  
  <p>i personally have a feeling it is a client-side issue, could it ?</p>
  
  <p><em>this is how i receive the stream server-side</em>:</p>
  
  <pre><code>  FMemStream := Socket.ReceiveStream(FMemStreamSize, cbUpdateStreamProgBar);
      try
        doClientReadStreamEnd;
      finally
        FMemStream.Free;
        FInStreamMode := False; // we're not in stream mode anymore
      end;
  
  function TCustomWinSocketHelpher.ReceiveStream(StreamLen: Integer; Callback: TUpdateProgBarProc): TMemoryStream;
  const
    ChunkSize = 4096; // 4kb
  var
    PData: PByte;
    ReadAmount: Integer;
  begin
    Result := TMemoryStream.Create;
    GetMem(PData, StreamLen);
    try
      while StreamLen &gt; 0 do
      begin
        ReadAmount := ReceiveBuf(PData^, ChunkSize);
        if (ReadAmount &gt; 0) then
        begin
          Result.Write(PData^, ReadAmount);
          Callback(ReadAmount); // update gui
          Inc(PData^, ReadAmount); // update PData current position
          Dec(StreamLen, ReadAmount); // update loop condition
        end;
      end;
    finally
      FreeMem(PData);
    end;
  end;
  </code></pre>
  
  <p><em>on client-side, this is how i send stream</em>:</p>
  
  <pre><code>FClientSocket.Socket.SendStreamEx(RemoteProcedureCalls.Stream);
  
  procedure TCustomWinSocketHelpher.SendStreamEx(Stream: TStream);
  begin
    Stream.Seek(0, TSeekOrigin.soBeginning);
    SendStream(Stream);
  end;
  </code></pre>
  
  <p><em>Here's a photo of how it looks, it should not continue sending after <strong>line</strong> 5</em>.</p>
  
  <p><img src="https://i.stack.imgur.com/2VM9x.png" alt="enter image description here"></p>