TsgcUDPCLient › イベント › OnUDPRead

OnUDPRead イベント

ピアから受信 UDP データグラムが届いたときに発生します。

構文

property OnUDPRead: TsgcUDPReadEvent;
// TsgcUDPReadEvent = procedure(Sender: TObject; Socket: TsgcUDPSocket; Bytes: TsgcBytes) of object

デフォルト値

—

解説

デコードされたデータグラムごとに 1 回発生し、Bytes パラメーターを通じて生のバイトを、送信者の PeerIP と PeerPort を公開するオリジネーティングソケット(Socket)を渡します。ペイロードは常にバイトとして配信されます。アプリケーションプロトコルがテキストを使用する場合は TEncoding で変換してください。このイベントを発生させるスレッドは NotifyEvents プロパティによって異なります: neAsynchronous はバックグラウンドキューを通じてマーシャリングし、neSynchronous は Synchronize を使用し、neNoSync はリーダースレッドで直接発生させます。DTLS が有効な場合、Bytes には復号化された平文が含まれます。

使用例

procedure TForm1.oClientUDPRead(Sender: TObject; Socket: TsgcUDPSocket;
  Bytes: TsgcBytes);
begin
  Memo1.Lines.Add(Format('From %s:%d -> %s',
    [Socket.PeerIP, Socket.PeerPort, TEncoding.UTF8.GetString(Bytes)]));
end;

イベントに戻る