TsgcUDPCLient › Metodi › WriteData

WriteData Method

Invia un singolo datagramma UDP a un indirizzo e una porta di destinazione espliciti.

Overload

Overload 1

Sintassi

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

Parametri

NomeTipoDescrizione
aIPAddressconst stringIndirizzo IPv4/IPv6 di destinazione o nome DNS. Sovrascrive la proprietà Host solo per questa chiamata.
aPortWordPorta UDP di destinazione nell'intervallo da 1 a 65535. Sostituisce la proprietà Port solo per questa chiamata.
aValueconst stringPayload di testo. Codificato in byte UTF-8 prima di essere trasmesso.

Note

Invia il payload stringa come singolo datagramma UDP all'indirizzo specificato, senza alterare le proprietà Host/Port. Questo sovraccarico è comodo per trasmettere messaggi di testo, rispondere a un peer ricevuto in precedenza o indirizzare più host da una singola istanza client. Quando DTLS è abilitato, il datagramma viene cifrato con la sessione DTLS attualmente memorizzata nella cache.

Esempio

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

Sovraccarico 2

Sintassi

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

Parametri

NomeTipoDescrizione
aIPAddressconst stringIndirizzo IPv4/IPv6 di destinazione o nome DNS. Sovrascrive la proprietà Host solo per questa chiamata.
aPortWordPorta UDP di destinazione nell'intervallo da 1 a 65535. Sostituisce la proprietà Port solo per questa chiamata.
aValueconst TBytesPayload binario grezzo inviato senza modifiche all'interno del datagramma UDP.

Note

Invia un buffer binario come singolo datagramma UDP all'indirizzo e alla porta specificati. Utilizzare questa forma quando il payload non è testo (ad esempio, frame di protocollo serializzati, campioni audio o media) in modo che non venga applicata alcuna conversione del set di caratteri. La dimensione del datagramma dovrebbe essere mantenuta al di sotto del path MTU (in genere 1472 byte su IPv4 Ethernet) per evitare la frammentazione IP.

Esempio

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

Torna ai Metodi