UDP クライアント

Delphi / C++Builder から UDP データグラムを送受信できます。ユニキャスト、ブロードキャスト、マルチキャストに対応し、WebRTC スタックで利用される信頼性 UDP オーバーレイもオプションで利用できます。

TsgcUDPClient

高性能な UDP データグラムクライアントです。STUN、TURN、ICE、RTCPeerConnection、そして独自に実装するあらゆる UDP プロトコルの基盤となります。

コンポーネントクラス

TsgcUDPClient

プロトコル

UDP (RFC 768)

プラットフォーム

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 を設定するとブロードキャストアドレッシングを有効化できます。WriteData255.255.255.255 宛に送ると、ローカルサブネット上のすべてのホストに届きます。

マルチキャスト

JoinMulticastGroup(addr) / LeaveMulticastGroup(addr) でソケットを 1 つ以上のマルチキャストグループに参加させます。これらのアドレス宛に送信したパケットは、サブスクライブしているすべてのピアにファンアウトされます。

ローカルバインディング

LocalPort / LocalHost を設定すると送信元エンドポイントを固定できます。STUN/TURN の割り当てや、NAT トラバーサルの対称性確保に必要です。

IPv4 / IPv6

IP バージョンはホストリテラルから自動検出されます。AAAA / IPv6 経路を強制したい場合は IPVersion を明示的に指定してください。

P2P スタックで利用

上位の P2P コンポーネント (TsgcSTUNClientTsgcTURNClientTsgcICEClientTsgcRTCPeerConnection) はすべて、本クライアントを内部 UDP トランスポートとして利用しています。

仕様と参考資料

このコンポーネントが実装するプロトコルの一次資料です。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、そして体験版のダウンロードはこちらです。

オンラインヘルプ — TsgcUDPClient 本コンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。
デモプロジェクト — Demos\35.P2P\01.UDP_Server_Client すぐに実行可能なサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。下記より体験版をダウンロードしてください。
技術ドキュメント (PDF) 本コンポーネントのみを対象とした機能解説、クイックスタート、Delphi および C++ Builder のコードサンプル、一次資料への参照を収録しています。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した総合マニュアルです。

Delphi から UDP を送信しませんか?

体験版をダウンロードして、Delphi アプリケーションに UDP データグラムのサポートを追加しましょう。