Delphi WebRTC・P2P コンポーネント
STUN、TURN、ICE プロトコルを使用したピアツーピア通信、データチャネル、直接クライアント接続のための NAT トラバーサルを提供します。
STUN、TURN、ICE プロトコルを使用したピアツーピア通信、データチャネル、直接クライアント接続のための NAT トラバーサルを提供します。
完全な NAT トラバーサルとリアルタイム通信サポートでピアツーピアアプリケーションを構築できます。
Delphi と C++Builder 向けの UDP クライアントとサーバーコンポーネントです。Windows、Linux、macOS、iOS、Android でユニキャスト、ブロードキャスト、マルチキャストのデータグラムを扱えます。
詳しく見る →STUN がグローバルアドレスと NAT の種別をどのように調べるのか、そして Delphi の STUN クライアントとサーバーコンポーネントでピアツーピア接続を成立させる方法を解説します。
詳しく見る →直接のピアツーピア通信が失敗したときは TURN がトラフィックを中継します。Delphi の TURN クライアントとサーバーコンポーネントが ICE と WebRTC の構成でどう機能するのかを解説します。
詳しく見る →ICE がどのように候補を収集し、ピア間で通信可能な経路を選ぶのかを解説し、ICE クライアントコンポーネントで Delphi と C++Builder から制御する方法をご紹介します。
詳しく見る →NAT の背後にあるパブリック IP アドレスとポートマッピングを検出します。
uses
sgcP2P, sgcP2P_STUN_Classes, sgcSocket_Classes;
procedure TForm1.DiscoverPublicIP;
begin
sgcSTUNClient1.Host := 'stun.l.google.com';
sgcSTUNClient1.Port := 19302;
sgcSTUNClient1.SendRequest;
end;
procedure TForm1.sgcSTUNClient1STUNResponseSuccess(Sender: TObject;
const aSocket: TsgcSocketConnection;
const aMessage: TsgcSTUN_Message;
const aBinding: TsgcSTUN_ResponseBinding);
begin
Memo1.Lines.Add('Public IP: ' + aBinding.RemoteIP);
Memo1.Lines.Add('Public Port: ' + IntToStr(aBinding.RemotePort));
end;