Delphi UDP İstemcisi

Delphi/C++Builder üzerinden UDP datagramları gönderin ve alın. IPv4 ve IPv6, isteğe bağlı bir DTLS oturumu ve bir SOCKS5 yolu, ayrıca tüm STUN, TURN, ICE ve WebRTC yığınının üzerine kurulduğu taşıma.

TsgcUDPClient

Yüksek performanslı UDP datagram istemcisi — STUN, TURN, ICE, RTCPeerConnection ve yazdığınız herhangi bir özel UDP protokolünün altındaki temel.

Bileşen sınıfı

TsgcUDPClient

Protokol

UDP (RFC 768)

Platformlar

Windows, macOS, Linux, iOS, Android

Sürüm

Core / Standard / Professional / Enterprise

Bileşeni bırakın, paket gönderin

Host / Port ayarlayın, Active := True yapın, ardından göndermek istediğiniz metin veya baytlarla WriteData çağırın. Gelen datagramlar OnUDPRead üzerine ulaşır.

uses
  sgcP2P, sgcUDP_Classes, sgcSocket_Classes;

// TFormUDP, FClient: TsgcUDPClient ve FIncoming: TStringList tutar

procedure TFormUDP.CreateClient;
begin
  FClient := TsgcUDPClient.Create(nil);
  FClient.Host := '127.0.0.1';
  FClient.Port := 4000;

  FClient.OnUDPRead := OnUDPRead;

  FClient.Active := True;
  FClient.WriteData('hello over UDP');
end;

procedure TFormUDP.OnUDPRead(Sender: TObject; Socket: TsgcUDPSocket;
  Bytes: TsgcBytes);
var
  oStream: TStringStream;
begin
  // okuma iş parçacığında tetiklenir, bir denetime dokunmadan önce yönlendirin
  oStream := TStringStream.Create('');
  try
    oStream.Write(Bytes[0], Length(Bytes));
    FIncoming.Add(oStream.DataString);
  finally
    oStream.Free;
  end;
end;
// includes: sgcP2P.hpp, sgcUDP_Classes.hpp, sgcSocket_Classes.hpp
TsgcUDPClient *Client = new TsgcUDPClient(this);
Client->Host = "127.0.0.1";
Client->Port = 4000;
Client->OnUDPRead = OnUDPRead;

Client->Active = true;
Client->WriteData("hello over UDP");

void __fastcall TFormUDP::OnUDPRead(TObject *Sender,
  TsgcUDPSocket *Socket, TsgcBytes Bytes)
{
  // okuma iş parçacığında tetiklenir, bir denetime dokunmadan önce yönlendirin
}

İçinde neler var

STUN / TURN / ICE / WebRTC ve herhangi bir özel datagram protokolü için taşıma olarak kullanılan ince, öngörülebilir bir UDP soket katmanı.

Unicast gönderme/alma

WriteData(text) ve WriteData(bytes), Host / Port hedefine bir datagramı kuyruğa alır; adres alan aşırı yüklemeler ise datagramı başka herhangi bir yere gönderir. OnUDPRead, gelen her paketi ulaştığı soketle birlikte iletir.

DTLS

Datagramları bir DTLS oturumu içinde taşımak için DTLS := True ayarlayın ve DTLSOptions değerlerini doldurun. OnDTLSVerifyPeer eş sertifikasını size verir, böylece kabul edip etmeyeceğinize siz karar verirsiniz.

SOCKS5 proxy

Proxy, datagramları bir SOCKS5 UDP ASSOCIATE üzerinden taşır. HTTP proxy EsgcUDPProxyNotSupported ile reddedilir, çünkü UDP yolunu yalnızca SOCKS5 tanımlar.

Okuduğunuz soket

Her OnUDPRead bir TsgcUDPSocket taşır: IP ve Port göndereni tanımlar, LocalIP ve LocalPort ise ICE'nin daha sonra host adayı olarak yayımladığı yerel tabanı tanımlar.

IPv4 / IPv6

IPVersion doğrudan alttaki sokete iletilir, bu yüzden IPv6 yoluna ihtiyaç duyduğunuzda Id_IPv6 olarak ayarlayın.

P2P yığınının altında kullanılır

Daha üst düzey her P2P bileşeni (TsgcSTUNClient, TsgcTURNClient, TsgcICEClient, TsgcRTCPeerConnection) bu istemciyi dahili olarak UDP taşıması olarak kullanır.

Spesifikasyonlar ve referanslar

Bu bileşenin uyguladığı protokol için yetkili kaynaklar.

Belgeler ve Demolar

Bileşen referansına doğrudan bağlanın, çalışmaya hazır demo projesini alın ve denemeyi indirin.

Çevrimiçi Yardım — TsgcUDPClient Bu bileşen için tam özellik, metot ve olay referansı.
Demo Projesi — Demos\35.P2P\01.UDP_Server_Client Çalışmaya hazır örnek proje. sgcWebSockets paketinin içinde gelir — denemeyi aşağıdan indirin.
Teknik Belge (PDF) Özellikler, hızlı başlangıç, Delphi ve C++ Builder için kod örnekleri ve birincil kaynak referansları — yalnızca bu bileşen.
Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz.
En avantajlı seçenek: All-AccessTüm eSeGeCe ürünleri, Premium Destek dahil, yılda €1,059'dan itibaren.
All-Access fiyatlarına bakın

Delphi'den UDP Göndermeye Hazır mısınız?

Ücretsiz denemeyi indirin ve Delphi uygulamalarınıza UDP datagram desteği ekleyin.