TURN 서버
Delphi에서 자체 TURN(RFC 8656) 서버를 실행하세요. P2P 경로를 설정할 수 없는 클라이언트에게 중계 전송 주소를 할당하고, 장기 자격 증명과 할당별 할당량을 지원해요.
Delphi에서 자체 TURN(RFC 8656) 서버를 실행하세요. P2P 경로를 설정할 수 없는 클라이언트에게 중계 전송 주소를 할당하고, 장기 자격 증명과 할당별 할당량을 지원해요.
자체 호스팅 TURN 서버 — Allocate / CreatePermission / ChannelBind / Send / Refresh / Data를 처리하고 할당과 대역폭을 관리하며 장기 자격 증명을 검증해요.
Port + Realm을 설정하고, OnTURNAuthenticate로 사용자별 비밀번호를 제공한 뒤 Active := True 하면 끝이에요 — 이제 서버가 모든 RFC 8656 클라이언트에 중계를 할당해요.
uses
sgcP2P;
var
TURNServer: TsgcTURNServer;
begin
TURNServer := TsgcTURNServer.Create(nil);
TURNServer.Port := 3478;
TURNServer.Realm := 'turn.example.com';
TURNServer.OnTURNAuthenticate := procedure(Sender: TObject;
const aUsername: string; var aPassword: string;
var Accept: Boolean)
begin
aPassword := LookupPassword(aUsername);
Accept := aPassword <> '';
end;
TURNServer.Active := True;
end;
// uses: sgcP2P
TsgcTURNServer *TURNServer = new TsgcTURNServer(this);
TURNServer->Port = 3478;
TURNServer->Realm = "turn.example.com";
TURNServer->Active = true;
자체 호스팅 중계 서버 — WebRTC 및 ICE 배포가 서드파티 TURN 공급자에 의존하지 않도록 해줘요.
REQUESTED-TRANSPORT가 포함된 Allocate 요청을 처리하고 사용 가능한 중계 포트를 선택해 수명을 추적해요. Refresh는 할당을 연장하며, 만료 시 서버가 할당을 정리해요.
할당별 피어 권한과 채널 바인딩을 추적해요. RFC 8656 §9에 따라 권한이 부여되지 않은 피어의 Send/Data 프레임은 폐기해요.
36바이트 Send / Data 봉투와 4바이트 ChannelData 프레임을 모두 지원해요. 중계가 relayed-transport-address와 바인딩된 피어 사이에서 데이터그램을 전달해요.
OnTURNAuthenticate가 사용자명을 제공하면 비밀번호를 반환하세요 — 서버가 MESSAGE-INTEGRITY를 검증하고 nonce를 자동으로 회전시켜요.
오용을 방지하려면 Quota.MaxAllocationsPerUser, Quota.MaxBandwidthKbps, Quota.AllocationLifetime을 설정하세요. OnQuotaExceeded가 거부 사항을 알려요.
하위 서버의 전송 계층을 전환할 수 있어요 — UDP, TCP, TLS over TCP를 모두 지원해요. WebRTC 클라이언트는 자신의 NAT를 통과할 수 있는 방식을 선택해요.
컴포넌트 레퍼런스로 바로 이동하고, 바로 실행할 수 있는 데모 프로젝트를 받아보고, 체험판을 다운로드하세요.
| 온라인 도움말 — TsgcTURNServer 이 컴포넌트의 전체 속성, 메서드, 이벤트 레퍼런스예요. | 열기 | |
| 데모 프로젝트 — Demos\35.P2P\03.TURN 바로 실행할 수 있는 예제 프로젝트예요. sgcWebSockets 패키지에 포함되어 있으니 아래에서 체험판을 다운로드해 보세요. | 열기 | |
| 기술 문서 (PDF) 이 컴포넌트의 기능, 빠른 시작, Delphi 및 C++ Builder 코드 샘플, 출처 참고 자료예요. | 열기 | |
| 사용자 설명서 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 설명서예요. | 열기 |