Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi UDPSockUtil Stream Senden ??? (https://www.delphipraxis.net/151736-udpsockutil-stream-senden.html)

Bernd29bln 30. Mai 2010 14:23


UDPSockUtil Stream Senden ???
 
Hallo,

Ich möchte mit der UDPSockUtil einen Stream Senden, aber irgendwie bekomme ich es nicht hin.

Könnte mir jemand das erklären?


Gruß Bernd

daywalker9 30. Mai 2010 14:31

Re: UDPSockUtil Stream Senden ???
 
Du könntest diese Methode wie folgt benutzten:
Delphi-Quellcode:
function SendBuf(var Buf; BufSize: Integer; Flags: Integer = 0): Integer;


procedure SendeStream;
var stream : tMemoryStream;
begin
  //irgendwas mit dem stream machen
 UDPSockUtil.SendBuf(stream.Memory^,Stream.Size);
end;

sx2008 30. Mai 2010 15:00

Re: UDPSockUtil Stream Senden ???
 
Zitat:

Zitat von Bernd29bln
mit der UDPSockUtil einen Stream Senden

Es gibt dabei einen logischen Widerspruch.
Code:
TCP - streamorientiertes Protokoll
UDP - messageorientiertes Protokoll
Du willst also ein Message-orientiertes Protokoll dazu (miss-)brauchen einen Stream zu übertragen?
Warum willst du das tun?

Prinzipiell ist es möglich einen Stream über UDP zu übertragen, aber der Preis dafür ist hoch.
1.) die Streamdaten müssen in Einzelpakete zerlegt werden
2.) die Pakete müssen durchnumeriert werden
3.) der Empfänger muss den Empfang jedes Pakets bestätigen
4.) der Empfänger muss damit rechnen, das Pakete nicht in korrekter Reihenfolge eintreffen und dies korrigieren
5.) der Absender muss verlorengegene Pakete ggf. erneut senden
==> im Endeffekt bedeutet das, dass viele Eigenschaften von TCP nachträglich von der Anwendung übernommen werden müssen.

Bernd29bln 30. Mai 2010 15:06

Re: UDPSockUtil Stream Senden ???
 
Danke für eure Antworten,

Ich will die Items einer Listview Senden.

@sx2008
Da hast du recht.

Was wäre den, die bessere Variante?

H4ndy 1. Jun 2010 18:24

Re: UDPSockUtil Stream Senden ???
 
Die Verbindung einfach ueber einen TCP- statt UDP-Socket herstellen.
Wenn du die Vorteile von UDP nicht brauchst, dann wuerde ich immer TCP waehlen, falls du mit dem Overhead leben kannst (sprich es nicht zeitkritisch ist, dafuer aber Uebertragungssicherheit gewaehrleistet sein muss).


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:16 Uhr.

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