Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Bild mit idUDPClient versenden. -> Package size too big (https://www.delphipraxis.net/171590-bild-mit-idudpclient-versenden-package-size-too-big.html)

hedie 14. Nov 2012 09:15

Bild mit idUDPClient versenden. -> Package size too big
 
Hallo zusammen...

Ich versuche derzeit wie folgt ein Bild über UDP zu versenden:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
stream:TMemoryStream;
Data:TBytes;
begin
  if OpenDialog1.Execute then begin
    stream := TMemoryStream.Create;
    stream.LoadFromFile(OpenDialog1.FileName);

    stream.Position := 0;
    showmessage(inttostr(stream.Size));
    SetLength(Data,stream.size); //size ist bei meinem bild ca 76000

    stream.ReadBuffer(Data[0],stream.size);

    IdUDPClient1.sendbuffer('127.0.0.1',1234,Data);



  end;
end;
Ich bekomme jedoch immer die Meldung

Code:
Package size too big
Gibt es eine Möglichkeit auf direktem wege mehrere MegaBytes mittels idUDP zu versenden?

Oder muss ich das manuell aufteilen und wieder zusammensetzen?

mjustin 14. Nov 2012 10:29

AW: Bild mit idUDPClient versenden. -> Package size too big
 
Warum muss es UDP sein?

Laut Wikipedia beträgt die maximale Größe eines UDP-Datagrammes 65.535 Bytes. "(...) Solch große Segmente werden jedoch von IP fragmentiert übertragen. IP löscht Pakete etwa bei Übertragungsfehlern oder bei Überlast. Datagramme können daher fehlen. UDP bietet hierfür keine Erkennungs- oder Korrekturmechanismen, wie etwa TCP. Im Falle von mehreren möglichen Routen zum Ziel kann IP bei Bedarf neue Wege wählen. Dadurch ist es in seltenen Fällen möglich, dass später gesendete Daten früher gesendete überholen. Außerdem kann ein einmal abgesendetes Datenpaket mehrmals beim Empfänger eintreffen."


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz