UDP 客户端
在 Delphi/C++Builder 中发送和接收 UDP 数据报。支持单播、广播和组播,以及 WebRTC 栈使用的可选可靠 UDP 覆盖层。
在 Delphi/C++Builder 中发送和接收 UDP 数据报。支持单播、广播和组播,以及 WebRTC 栈使用的可选可靠 UDP 覆盖层。
高性能 UDP 数据报客户端 — 作为 STUN、TURN、ICE、RTCPeerConnection 以及您编写的任何自定义 UDP 协议的底层传输基础。
TsgcUDPClient
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 穿透对称性是必需的。
IP 版本从主机字面量自动检测。在需要强制使用 AAAA / IPv6 路径时,可显式配置 IPVersion。
每个更高层的 P2P 组件(TsgcSTUNClient、TsgcTURNClient、TsgcICEClient、TsgcRTCPeerConnection)在内部都使用此客户端作为 UDP 传输。