UDP 客户端

在 Delphi/C++Builder 中发送和接收 UDP 数据报。支持单播、广播和组播,以及 WebRTC 栈使用的可选可靠 UDP 覆盖层。

TsgcUDPClient

高性能 UDP 数据报客户端 — 作为 STUN、TURN、ICE、RTCPeerConnection 以及您编写的任何自定义 UDP 协议的底层传输基础。

组件类

TsgcUDPClient

协议

UDP (RFC 768)

支持平台

Windows, macOS, Linux, iOS, Android

版本

Standard / Professional / Enterprise

放置组件,发送数据包

设置 Host / Port,Active := True,然后调用 WriteData 发送字节。入站数据报通过 OnMessage 事件接收。

uses
  sgcP2P;

var
  UDP: TsgcUDPClient;
begin
  UDP := TsgcUDPClient.Create(nil);
  UDP.Host := '127.0.0.1';
  UDP.Port := 4000;

  UDP.OnMessage := procedure(Connection: TsgcUDPConnection;
    const aText: string)
  begin
    Memo1.Lines.Add(aText);
  end;

  UDP.Active := True;
  UDP.WriteData('hello over UDP');
end;
// uses: sgcP2P
TsgcUDPClient *UDP = new TsgcUDPClient(this);
UDP->Host = "127.0.0.1";
UDP->Port = 4000;

UDP->Active = true;
UDP->WriteData("hello over UDP");

内部功能

精简、可预测的 UDP 套接字层,作为 STUN / TURN / ICE / WebRTC 及任何自定义数据报协议的传输基础。

单播收发

WriteData(text)WriteData(bytes) 将出站数据报加入队列。OnMessage / OnBinary 传递入站数据包及其源端点信息。

广播

设置 Broadcast := True 以启用广播寻址。向 255.255.255.255 调用 WriteData 可到达本地子网上的每台主机。

组播

JoinMulticastGroup(addr) / LeaveMulticastGroup(addr) 将套接字加入一个或多个组播组;发送到这些地址的出站数据包会分发给每个订阅的对等方。

本地绑定

设置 LocalPort / LocalHost 以固定源端点 — 这对 STUN/TURN 分配和 NAT 穿透对称性是必需的。

IPv4 / IPv6

IP 版本从主机字面量自动检测。在需要强制使用 AAAA / IPv6 路径时,可显式配置 IPVersion

P2P 栈的底层

每个更高层的 P2P 组件(TsgcSTUNClientTsgcTURNClientTsgcICEClientTsgcRTCPeerConnection)在内部都使用此客户端作为 UDP 传输。

规范与参考资料

该组件实现的协议权威来源。

文档与示例

直达组件参考文档、获取即用示例项目并下载试用版。

在线帮助 — TsgcUDPClient 该组件的完整属性、方法和事件参考。
示例项目 — Demos\35.P2P\01.UDP_Server_Client 即用示例项目,包含在 sgcWebSockets 包中 — 请从下方下载试用版。
技术文档(PDF) 功能介绍、快速入门、Delphi 与 C++ Builder 代码示例及原始参考资料 — 仅限此组件。
用户手册(PDF) 涵盖库中每个组件的综合手册。

准备好在 Delphi 中使用 UDP 发送数据了吗?

下载免费试用版,为您的 Delphi 应用程序添加 UDP 数据报支持。