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.