TsgcUDPCLient › 方法 › WriteData

WriteData 方法

向显式目标地址和端口发送单个 UDP 数据报。

重载

重载 1

语法

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

参数

名称类型描述
aIPAddressconst string目标 IPv4/IPv6 地址或 DNS 名称。仅对本次调用覆盖 Host 属性。
aPortWord目标 UDP 端口,范围 1 到 65535。仅对本次调用覆盖 Port 属性。
aValueconst string文本负载。在传输前编码为 UTF-8 字节。

备注

以单个 UDP 数据报的形式将字符串有效负载发送到指定地址,而不更改 Host/Port 属性。此重载便于广播文本消息、回复先前收到的对端消息,或从一个客户端实例向多个主机发送消息。启用 DTLS 时,数据报将使用当前缓存的 DTLS 会话进行加密。

示例

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

重载 2

语法

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

参数

名称类型描述
aIPAddressconst string目标 IPv4/IPv6 地址或 DNS 名称。仅对本次调用覆盖 Host 属性。
aPortWord目标 UDP 端口,范围 1 到 65535。仅对本次调用覆盖 Port 属性。
aValueconst TBytes在 UDP 数据报内逐字发送的原始二进制有效载荷。

备注

将二进制缓冲区作为单个 UDP 数据报发送到指定地址和端口。当载荷不是文本时(例如序列化协议帧、音频样本或媒体),请使用此形式,以免应用字符集转换。数据报大小应保持在路径 MTU 以下(IPv4 以太网上通常为 1472 字节)以避免 IP 分片。

示例

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

返回方法