TsgcUDPCLient › Méthodes › WriteData
Envoie un seul datagramme UDP à une adresse et un port de destination explicites.
procedure WriteData(const aIPAddress: string; aPort: Word; const aValue: string);
| Nom | Type | Description |
|---|---|---|
aIPAddress | const string | Adresse IPv4/IPv6 ou nom DNS de destination. Remplace la propriété Host uniquement pour cet appel. |
aPort | Word
| Port UDP de destination dans la plage 1 à 65535. Remplace la propriété Port pour cet appel uniquement. |
aValue
| const string | Charge utile texte. Encodée en octets UTF-8 avant la transmission. |
Envoie la charge utile de chaîne sous forme d'un seul datagramme UDP à l'adresse spécifiée, sans modifier les propriétés Host/Port. Cette surcharge est pratique pour diffuser des messages texte, répondre à un pair précédemment reçu, ou cibler plusieurs hôtes depuis une seule instance cliente. Lorsque DTLS est activé, le datagramme est chiffré avec la session DTLS actuellement mise en cache.
oClient.WriteData('192.168.1.10', 5000, 'hello');
procedure WriteData(const aIPAddress: string; aPort: Word; const aValue: TBytes);
| Nom | Type | Description |
|---|---|---|
aIPAddress | const string | Adresse IPv4/IPv6 ou nom DNS de destination. Remplace la propriété Host uniquement pour cet appel. |
aPort | Word
| Port UDP de destination dans la plage 1 à 65535. Remplace la propriété Port pour cet appel uniquement. |
aValue
| const TBytes
| Charge utile binaire brute envoyée telle quelle dans le datagramme UDP. |
Envoie un tampon binaire sous forme d'un seul datagramme UDP à l'adresse et au port spécifiés. Utilisez cette forme lorsque la charge utile n'est pas du texte (par exemple, des trames de protocole sérialisées, des échantillons audio ou des médias) afin qu'aucune conversion de jeu de caractères ne soit appliquée. La taille du datagramme doit rester inférieure à la MTU du chemin (généralement 1472 octets sur Ethernet IPv4) pour éviter la fragmentation IP.
var vBytes: TBytes;
begin
vBytes := TEncoding.UTF8.GetBytes('ping');
oClient.WriteData('192.168.1.10', 5000, vBytes);
end;