Einzelnen Beitrag anzeigen

1aa

Registriert seit: 28. Sep 2008
48 Beiträge
 
Delphi XE5 Enterprise
 
#19

AW: Fehler mit Socket komponente

  Alt 14. Aug 2013, 23:02
Ich verwende jetzt blocking Sockets und es funkt. soweit auch alles, keine Memory Leak

Aber eine andere Sache ist mir jetzt auf gefallen seit ich blocking Sockets verwende habe ich probleme dateien zu übertragen :


Empfang:
Delphi-Quellcode:
procedure TClient.DateiDownload(Socket: TCustomWinSocket);
var zielDatei: TFileStream;
    nSocketStream : TWinSocketStream;
    nReceived: Integer;
    Buffer: array [0..9999] of Char;
begin
 zielDatei := TFileStream.Create('neu.txt', fmCreate);
 try
   bDateiEmpfang := True;
   nSocketStream := TWinSocketStream.Create(Socket,5000);
   try
    while bDateiEmpfang do
     begin
         nReceived := nSocketStream.Read(Buffer, sizeof(Buffer));
         if nReceived <= 0
           then Break
           else
             zielDatei.WriteBuffer(Buffer, nReceived);
       Sleep(1);
     end;
   finally
     nSocketStream.Free;
   end;
  zielDatei.Position := 0;
  bDateiEmpfang := false;
 finally
   zielDatei.Free;
 end;
end;
Es scheint nicht alle daten zu übertragen.....

Senden: Socket.SendStream(TFileStream.Create('neu.txt', fmOpenRead or fmShareDenyWrite))

Geändert von 1aa (14. Aug 2013 um 23:12 Uhr)
  Mit Zitat antworten Zitat