Delphi 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, hepsi bağlı tek bir soket üzerinden.

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ı OnUDPRead içinde işleyin ve Socket.WriteData aracılığıyla yanıt verin — tek soket, herhangi bir sayıda uzak eş.

uses
  sgcP2P, sgcUDP_Classes, sgcSocket_Classes;

// TFormUDPServer, FServer: TsgcUDPServer ve işleyiciyi tutar

procedure TFormUDPServer.StartServer;
begin
  FServer := TsgcUDPServer.Create(nil);
  FServer.Port := 4000;

  FServer.OnUDPRead := OnUDPRead;

  FServer.Active := True;
end;

procedure TFormUDPServer.OnUDPRead(Sender: TObject;
  Socket: TsgcUDPSocket; Bytes: TsgcBytes);
begin
  // datagramın geldiği eşe geri yankılayın
  Socket.WriteData(TBytes(Bytes));
end;
// includes: sgcP2P.hpp, sgcUDP_Classes.hpp, sgcSocket_Classes.hpp
TsgcUDPServer *Server = new TsgcUDPServer(this);
Server->Port = 4000;
Server->OnUDPRead = OnUDPRead;
Server->Active = true;

void __fastcall TFormUDPServer::OnUDPRead(TObject *Sender,
  TsgcUDPSocket *Socket, TsgcBytes Bytes)
{
  // datagramın geldiği eşe geri yankılayın
  Socket->WriteData(TBytes(Bytes));
}

İçinde neler var

Her datagramı, ulaştığı TsgcUDPSocket ile birlikte işleyicinize veren bir UDP dinleyici; aynı soket yanıt yoludur.

Tek port, çok eş

Bağlı tek bir soket, herhangi bir sayıda uzak uç noktadan gelen datagramları işler. Her OnUDPRead, IP ve Port değerleri göndereni tanımlayan bir TsgcUDPSocket ile tetiklenir.

Yanıt yolu

Socket.WriteData, aynı soket üzerinden kaynak eşe geri bir datagram gönderir; sunucu ayrıca başka herhangi bir uç nokta için WriteData(ip, port, ...) sunar.

WatchDog

WatchDog, dinleyici yanıt vermeyi bıraktığında onu yeniden başlatır ve OnBeforeWatchDog yeniden başlatmayı veto etme fırsatı verir. OnStartup ve OnShutdown her bağlamayı çerçeveler.

IPv4 / IPv6 ve birden fazla bağlama

Aile için IPVersion ayarlayın veya sunucunun birden fazla adreste dinlemesi gerektiğinde AddBinding, RemoveBinding ve GetBinding ile Bindings koleksiyonuna adres başına bir giriş ekleyin.

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.

DTLS

Datagramları bir DTLS oturumu içinde çalıştırmak için DTLS := True ayarlayın ve DTLSOptions değerlerini doldurun; hangi eş sertifikalarını kabul edeceğinize OnDTLSVerifyPeer karar verir.

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.
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

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

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