TsgcUDPCLient › Methoden › WriteData

WriteData Methode

Sendet ein einzelnes UDP-Datagramm an eine explizite Zieladresse und einen Zielport.

Überladungen

Overload 1

Syntax

procedure WriteData(const aIPAddress: string; aPort: Word; const aValue: string);

Parameter

NameTypBeschreibung
aIPAddressconst stringZiel-IPv4/IPv6-Adresse oder DNS-Name. Überschreibt die Host-Eigenschaft nur für diesen Aufruf.
aPortWordZiel-UDP-Port im Bereich 1 bis 65535. Überschreibt die Port-Eigenschaft nur für diesen Aufruf.
aValueconst stringText-Nutzlast. Wird vor der Übertragung in UTF-8-Bytes kodiert.

Hinweise

Sendet die String-Nutzlast als einzelnes UDP-Datagramm an die angegebene Adresse, ohne die Host-/Port-Eigenschaften zu ändern. Diese Überladung ist praktisch zum Broadcasten von Textnachrichten, zum Antworten auf einen zuvor empfangenen Peer oder zum Adressieren mehrerer Hosts von einer Client-Instanz aus. Wenn DTLS aktiviert ist, wird das Datagramm mit der derzeit zwischengespeicherten DTLS-Sitzung verschlüsselt.

Beispiel

oClient.WriteData('192.168.1.10', 5000, 'hello');

Überladung 2

Syntax

procedure WriteData(const aIPAddress: string; aPort: Word; const aValue: TBytes);

Parameter

NameTypBeschreibung
aIPAddressconst stringZiel-IPv4/IPv6-Adresse oder DNS-Name. Überschreibt die Host-Eigenschaft nur für diesen Aufruf.
aPortWordZiel-UDP-Port im Bereich 1 bis 65535. Überschreibt die Port-Eigenschaft nur für diesen Aufruf.
aValueconst TBytesRohe binäre Nutzlast, die wortgetreu im UDP-Datagramm gesendet wird.

Hinweise

Sendet einen Binärpuffer als einzelnes UDP-Datagramm an die angegebene Adresse und den angegebenen Port. Verwenden Sie diese Form, wenn die Nutzlast kein Text ist (zum Beispiel serialisierte Protokoll-Frames, Audio-Samples oder Medien), damit keine Zeichensatzkonvertierung angewendet wird. Die Datagrammgröße sollte unter der Pfad-MTU gehalten werden (typischerweise 1472 Bytes bei IPv4-Ethernet), um IP-Fragmentierung zu vermeiden.

Beispiel

var vBytes: TBytes;
begin
  vBytes := TEncoding.UTF8.GetBytes('ping');
  oClient.WriteData('192.168.1.10', 5000, vBytes);
end;

Zurück zu Methoden