Delphi UDP 클라이언트
Delphi/C++Builder에서 UDP 데이터그램을 주고받아요. IPv4와 IPv6, 선택적인 DTLS 세션과 SOCKS5 경로를 지원하며, STUN과 TURN, ICE, WebRTC 스택 전체가 이 전송 위에 올라가 있어요.
Delphi/C++Builder에서 UDP 데이터그램을 주고받아요. IPv4와 IPv6, 선택적인 DTLS 세션과 SOCKS5 경로를 지원하며, STUN과 TURN, ICE, WebRTC 스택 전체가 이 전송 위에 올라가 있어요.
고성능 UDP 데이터그램 클라이언트 — STUN, TURN, ICE, RTCPeerConnection 및 직접 작성하는 모든 커스텀 UDP 프로토콜의 기반이에요.
TsgcUDPClient
Windows, macOS, Linux, iOS, Android
Core / Standard / Professional / Enterprise
Host / Port를 설정하고 Active := True 한 뒤, 보낼 텍스트나 바이트로 WriteData를 호출하세요. 들어오는 데이터그램은 OnUDPRead로 도착해요.
uses
sgcP2P, sgcUDP_Classes, sgcSocket_Classes;
// TFormUDP는 FClient: TsgcUDPClient와 FIncoming: TStringList를 보유
procedure TFormUDP.CreateClient;
begin
FClient := TsgcUDPClient.Create(nil);
FClient.Host := '127.0.0.1';
FClient.Port := 4000;
FClient.OnUDPRead := OnUDPRead;
FClient.Active := True;
FClient.WriteData('hello over UDP');
end;
procedure TFormUDP.OnUDPRead(Sender: TObject; Socket: TsgcUDPSocket;
Bytes: TsgcBytes);
var
oStream: TStringStream;
begin
// 읽기 스레드에서 발생하므로 컨트롤을 다루기 전에 마샬링하세요
oStream := TStringStream.Create('');
try
oStream.Write(Bytes[0], Length(Bytes));
FIncoming.Add(oStream.DataString);
finally
oStream.Free;
end;
end;
// includes: sgcP2P.hpp, sgcUDP_Classes.hpp, sgcSocket_Classes.hpp
TsgcUDPClient *Client = new TsgcUDPClient(this);
Client->Host = "127.0.0.1";
Client->Port = 4000;
Client->OnUDPRead = OnUDPRead;
Client->Active = true;
Client->WriteData("hello over UDP");
void __fastcall TFormUDP::OnUDPRead(TObject *Sender,
TsgcUDPSocket *Socket, TsgcBytes Bytes)
{
// 읽기 스레드에서 발생하므로 컨트롤을 다루기 전에 마샬링하세요
}
STUN / TURN / ICE / WebRTC 및 모든 커스텀 데이터그램 프로토콜의 전송 계층으로 사용되는 얇고 예측 가능한 UDP 소켓 계층이에요.
WriteData(text)와 WriteData(bytes)는 Host / Port로 보낼 데이터그램을 큐에 넣고, 주소를 받는 오버로드는 다른 엔드포인트로도 보낼 수 있어요. OnUDPRead는 수신 패킷을 도착한 소켓과 함께 전달해요.
DTLS := True로 설정하고 DTLSOptions를 채우면 데이터그램이 DTLS 세션 안에서 전달돼요. OnDTLSVerifyPeer가 피어 인증서를 전달하므로 수락 여부를 직접 결정할 수 있어요.
Proxy는 SOCKS5 UDP ASSOCIATE를 통해 데이터그램을 전달해요. UDP 경로를 정의하는 것은 SOCKS5뿐이라서, HTTP 프록시는 EsgcUDPProxyNotSupported로 거부돼요.
모든 OnUDPRead는 TsgcUDPSocket을 함께 전달해요. IP와 Port는 보낸 쪽을 가리키고, LocalIP와 LocalPort는 ICE가 나중에 호스트 후보로 공개하는 로컬 base를 가리켜요.
IPVersion은 하위 소켓으로 그대로 전달되므로, IPv6 경로가 필요하면 Id_IPv6으로 설정하세요.
모든 상위 P2P 컴포넌트(TsgcSTUNClient, TsgcTURNClient, TsgcICEClient, TsgcRTCPeerConnection)가 이 클라이언트를 UDP 전송 계층으로 내부에서 사용해요.
컴포넌트 레퍼런스로 바로 이동하고, 바로 실행할 수 있는 데모 프로젝트를 받아보고, 체험판을 다운로드하세요.
| 온라인 도움말 — TsgcUDPClient 이 컴포넌트의 전체 속성, 메서드, 이벤트 레퍼런스예요. | 열기 | |
| 데모 프로젝트 — Demos\35.P2P\01.UDP_Server_Client 바로 실행할 수 있는 예제 프로젝트예요. sgcWebSockets 패키지에 포함되어 있으니 아래에서 체험판을 다운로드해 보세요. | 열기 | |
| 기술 문서 (PDF) 이 컴포넌트의 기능, 빠른 시작, Delphi 및 C++ Builder 코드 샘플, 출처 참고 자료예요. | 열기 | |
| 사용자 설명서 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 설명서예요. | 열기 |