UDP-Server
Lausche an einem Port auf UDP-Datagramme und leite jedes davon an deine Anwendung weiter. Dieselbe Engine, die auch TsgcSTUNServer und TsgcTURNServer antreibt.
Lausche an einem Port auf UDP-Datagramme und leite jedes davon an deine Anwendung weiter. Dieselbe Engine, die auch TsgcSTUNServer und TsgcTURNServer antreibt.
Hochperformanter UDP-Listener — binde an einen Port, empfange Datagramme von beliebigen Peers, antworte spezifischen Endpunkten und skaliere mit Worker-Threads über Cores.
TsgcUDPServer
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Setze Port, Active := True, verarbeite eingehende Datagramme in OnMessage und antworte über Connection.WriteData — ein Socket, beliebig viele Remote-Peers.
uses
sgcP2P;
var
Server: TsgcUDPServer;
begin
Server := TsgcUDPServer.Create(nil);
Server.Port := 4000;
Server.OnMessage := procedure(Connection: TsgcUDPConnection;
const aText: string)
begin
// echo back to the originating peer
Connection.WriteData('echo: ' + aText);
end;
Server.Active := True;
end;
// uses: sgcP2P
TsgcUDPServer *Server = new TsgcUDPServer(this);
Server->Port = 4000;
Server->Active = true;
Ein multithreaded UDP-Listener, der jedes Datagramm an einen Worker-Pool verteilt und eine TsgcUDPConnection für den Antwortpfad bereitstellt.
Ein gebundener Socket bedient Datagramme von beliebig vielen Remote-Endpunkten. Jedes OnMessage wird mit einer TsgcUDPConnection ausgelöst, die PeerIP / PeerPort des Absenders identifiziert.
Connection.WriteData schickt ein Datagramm an den Absender zurück und nutzt dabei denselben Socket — keine zusätzliche ausgehende Bindung nötig.
Ein Worker-Pool verarbeitet eingehende Pakete — konfigurierbar über WorkerCount, falls dein Handler aufwendige Arbeit leistet. Der Empfangs-Thread wird nie blockiert.
Unterstützt IPv4-only-, IPv6-only- oder Dual-Stack-Bindung über IPVersion. Multicast-Gruppen-Beitritte sind über JoinMulticastGroup verfügbar.
Die STUN- und TURN-Server (vollständige RFC-8489-/-8656-Implementierungen) bauen auf dieser Komponente auf — du kannst dasselbe für jedes eigene UDP-Protokoll tun.
Setze DontFragment := True bei ausgehenden Writes — nützlich für Path-MTU-Probing in eigenen Protokollen.
Springe direkt zur Komponentenreferenz, hole dir das sofort lauffähige Demo-Projekt und lade die Testversion herunter.
| Online-Hilfe — TsgcUDPServer Vollständige Referenz zu Eigenschaften, Methoden und Ereignissen dieser Komponente. | Öffnen | |
| Demo-Projekt — Demos\35.P2P\01.UDP_Server_Client Sofort lauffähiges Beispielprojekt. Wird im sgcWebSockets-Paket mitgeliefert — lade unten die Testversion herunter. | Öffnen | |
| Technisches Dokument (PDF) Funktionen, Schnellstart, Code-Beispiele für Delphi & C++ Builder und Primärquellen-Referenzen — nur diese Komponente. | Öffnen | |
| Benutzerhandbuch (PDF) Umfassendes Handbuch, das jede Komponente der Bibliothek abdeckt. | Öffnen |