Einzelnen Beitrag anzeigen

Benutzerbild von TTF
TTF

Registriert seit: 19. Mai 2013
70 Beiträge
 
Delphi XE4 Enterprise
 
#5

AW: UDP Datei senden und empfangen

  Alt 27. Okt 2013, 18:41
Ich habe den Fehler gefunden und es funktioniert auch soweit(Habe die Länge der Datei falsch zugewiesen). Aber wenn ich die Datei nach dem Senden wieder abspeichere steht in der geladenen *.txt nebst dem ursprünglichen Text noch etwas anderes nämlich ein komisches Zeichen. Sieht ungefähr so aus: _|. Und wenn ich es mit einem *.bmp versuche geht es gar nicht(das erzeugt Bild lässt sich nicht richtig öffnen).
Anscheinend habe ich wohl noch den einen oder anderen Fehler drin:
Delphi-Quellcode:
//Senden
var
  Stream : TStream;
  i : Integer;
  Len : Longint;
  Datei : TIdBytes;
begin
  Stream := TFileStream.Create('D:\Testbild.bmp', fmOpenRead);

  Len := Stream.Size;

  SetLength(Datei,Len);

  for i := 0 to Len -1 do
  begin
    Stream.Read(Datei[i], SizeOf(Datei[i]));
  end;

  Stream.Free;

  IdUDPClient1.SendBuffer(Datei);
end;

//Empfangen:

var
  Stream : TStream;
  Len, i : Integer;
begin
  Stream := TFileStream.Create('D:\testbild1.bmp', fmCreate);

  Len := Length(AData);
  Stream.Write(Len, SizeOf(Len));

  for i := 0 to Length(AData)-1 do
  begin
    Stream.Write(AData[i], SizeOf(AData[i]))
  end;

  Stream.Free;
end;
Wäre froh, wenn sich jemand das mal anschauen könnte.
Quidquid id est, timeo perfossores machinae computatoriae et dona ferentes...
  Mit Zitat antworten Zitat