TURN クライアント
Delphi / C++Builder から TURN サーバーと通信します。リレーされたトランスポートアドレスを割り当て、権限とチャネルを管理し、シンメトリック NAT 配下のピアとデータをやり取りできます。RFC 8656 に準拠しています。
Delphi / C++Builder から TURN サーバーと通信します。リレーされたトランスポートアドレスを割り当て、権限とチャネルを管理し、シンメトリック NAT 配下のピアとデータをやり取りできます。RFC 8656 に準拠しています。
TURN クライアント — Allocate、CreatePermission、ChannelBind、Send / Indication / Data、Refresh のすべてを RFC 8656 に基づく長期認証情報で署名します。
TsgcTURNClient
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
TURN サーバー / ユーザー名 / パスワードを設定し、Allocate を呼び出した後、ピアごとに CreatePermission を実行し、Send / SendIndication でデータをリレーします。
uses
sgcP2P;
var
TURN: TsgcTURNClient;
begin
TURN := TsgcTURNClient.Create(nil);
TURN.Host := 'turn.example.com';
TURN.Port := 3478;
TURN.Authentication.UserName := 'alice';
TURN.Authentication.Password := 'secret';
TURN.OnTURNAllocated := procedure(Sender: TObject;
const aRelayedAddress, aRelayedPort: string)
begin
Memo1.Lines.Add('relay: ' + aRelayedAddress + ':' + aRelayedPort);
TURN.CreatePermission('192.0.2.1');
TURN.SendIndication('192.0.2.1', 5000, 'hello via TURN');
end;
TURN.Allocate;
end;
// uses: sgcP2P
TsgcTURNClient *TURN = new TsgcTURNClient(this);
TURN->Host = "turn.example.com";
TURN->Port = 3478;
TURN->Authentication->UserName = "alice";
TURN->Authentication->Password = "secret";
TURN->Allocate();
型付きの RFC 8656 TURN クライアントです。STUN のみによる NAT トラバーサルが失敗した場合に、WebRTC のリレー層として機能します。
Allocate は REQUESTED-TRANSPORT (UDP、TCP) を指定して Allocate リクエストを送信し、リレーされたトランスポートアドレスを取得します。Refresh は有効期限を延長し、Free は明示的に割り当てを解除します。
CreatePermission(peerIp) によって、リレーが転送を許可するピアを登録します。権限は 5 分後に自動的に失効するため、必要に応じて更新してください。
ChannelBind(channelNumber, peerEndpoint) によって 36 バイトの Send/Data オーバーヘッドを回避できます。コンポーネントは 4 バイトの ChannelData ヘッダーを自動的にエンコードします。
Authentication.UserName / Password は、401 チャレンジから抽出した realm と nonce を用いて MESSAGE-INTEGRITY を生成します。
UDP がブロックされる環境では、基底クライアントの Transport を TCP または TLS に設定します。RFC 6062 / 6056 のトランスポート選択に対応しています。
TsgcRTCPeerConnection は TsgcTURNClient を IceServers の 1 つとして利用します。Allocate、CreatePermission、ChannelBind の一連の処理は透過的に実行されます。
コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、そして体験版のダウンロードはこちらです。
| オンラインヘルプ — TsgcTURNClient 本コンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。 | 開く | |
| デモプロジェクト — Demos\35.P2P\03.TURN すぐに実行可能なサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。下記より体験版をダウンロードしてください。 | 開く | |
| 技術ドキュメント (PDF) 本コンポーネントのみを対象とした機能解説、クイックスタート、Delphi および C++ Builder のコードサンプル、一次資料への参照を収録しています。 | 開く | |
| ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した総合マニュアルです。 | 開く |