UDP Sunucusu

Bir portta UDP datagramlarını dinleyin ve her birini uygulamanıza iletin. TsgcSTUNServer ve TsgcTURNServer'a güç veren motorun aynısı.

TsgcUDPServer

Yüksek performanslı UDP dinleyici — bir porta bağlanın, herhangi bir eşten datagram alın, belirli uç noktalara yanıt verin, çalışan iş parçacıkları aracılığıyla çekirdekler arasında ölçeklendirin.

Bileşen sınıfı

TsgcUDPServer

Protokol

UDP (RFC 768)

Platformlar

Windows, macOS, Linux, iOS, Android

Sürüm

Professional / Enterprise

Bırakın, dinleyin, yanıt verin

Port ayarlayın, Active := True yapın, ardından gelen datagramları OnMessage içinde işleyin ve Connection.WriteData aracılığıyla yanıt verin — tek soket, herhangi bir sayıda uzak eş.

uses
  sgcP2P;

var
  Server: TsgcUDPServer;
begin
  Server := TsgcUDPServer.Create(nil);
  Server.Port := 4000;

  Server.OnMessage := procedure(Connection: TsgcUDPConnection;
    const aText: string)
  begin
    // kaynak eşe geri yankıla
    Connection.WriteData('echo: ' + aText);
  end;

  Server.Active := True;
end;
// uses: sgcP2P
TsgcUDPServer *Server = new TsgcUDPServer(this);
Server->Port = 4000;
Server->Active = true;

İçinde neler var

Her datagramı bir çalışan havuzuna ileten ve yanıt yolu için bir TsgcUDPConnection sunan çok iş parçacıklı bir UDP dinleyici.

Tek port, çok eş

Bağlı tek bir soket, herhangi bir sayıda uzak uç noktadan gelen datagramları işler. Her OnMessage, kaynak PeerIP / PeerPort değerini tanımlayan bir TsgcUDPConnection ile tetiklenir.

Yanıt yolu

Connection.WriteData, aynı soketi kullanarak kaynak eşe geri bir datagram gönderir — ekstra giden bağlama gerekmez.

İş parçacıklı dağıtım

Bir çalışan havuzu gelen paketleri işler — işleyiciniz ağır iş yapıyorsa WorkerCount aracılığıyla yapılandırın. Alıcı iş parçacığı asla engellenmez.

IPv4 / IPv6 / dual-stack

IPVersion aracılığıyla yalnızca IPv4, yalnızca IPv6 veya dual-stack bağlamayı destekler. Multicast grubuna katılımlar JoinMulticastGroup üzerinden sunulur.

TsgcSTUNServer / TsgcTURNServer altında kullanılır

STUN ve TURN sunucuları (tam RFC 8489 / 8656 uygulamaları) bu bileşenin üzerine kurulur — herhangi bir özel UDP protokolü için aynısını yapabilirsiniz.

Parçalanmama ipucu

Giden yazma işlemlerinde DontFragment := True ayarlayın — özel protokollerde yol-MTU sondalaması için faydalıdı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 — TsgcUDPServer 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.

Bir UDP Sunucusu Çalıştırmaya Hazır mısınız?

Ücretsiz denemeyi indirin ve Delphi ile UDP datagramlarını dinleyin.