Serveur UDP pour Delphi
Écoute les datagrammes UDP sur un port et achemine chacun vers ton application. Le même moteur qui anime TsgcSTUNServer et TsgcTURNServer.
Écoute les datagrammes UDP sur un port et achemine chacun vers ton application. Le même moteur qui anime TsgcSTUNServer et TsgcTURNServer.
Écouteur UDP haute performance — lie-toi à un port, reçois des datagrammes de tout pair, réponds à des endpoints spécifiques, le tout via un seul socket lié.
TsgcUDPServer
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Configure Port, Active := True, puis traite les datagrammes entrants dans OnUDPRead et réponds via Socket.WriteData — un socket, autant de pairs distants que tu veux.
uses
sgcP2P, sgcUDP_Classes, sgcSocket_Classes;
// TFormUDPServer contient FServer: TsgcUDPServer et le gestionnaire
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
// renvoie l'écho au pair d'où vient le datagramme
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)
{
// renvoie l'écho au pair d'où vient le datagramme
Socket->WriteData(TBytes(Bytes));
}
Un écouteur UDP qui remet chaque datagramme à ton gestionnaire avec le TsgcUDPSocket sur lequel il est arrivé, qui est aussi le chemin de réponse.
Un seul socket lié gère les datagrammes provenant de n'importe quel nombre d'endpoints distants. Chaque OnUDPRead se déclenche avec un TsgcUDPSocket dont IP et Port identifient l'expéditeur.
Socket.WriteData renvoie un datagramme au pair d'origine via le même socket, et le serveur propose aussi WriteData(ip, port, ...) pour n'importe quel autre endpoint.
WatchDog redémarre l'écouteur quand il cesse de répondre, et OnBeforeWatchDog te donne la possibilité d'opposer un veto au redémarrage. OnStartup et OnShutdown encadrent chaque liaison.
Configure IPVersion pour la famille, ou ajoute une entrée par adresse à Bindings avec AddBinding, RemoveBinding et GetBinding quand le serveur doit écouter sur plusieurs adresses.
Les serveurs STUN et TURN (implémentations complètes RFC 8489 / 8656) s'appuient sur ce composant — tu peux faire de même pour tout protocole UDP personnalisé.
Configure DTLS := True et renseigne DTLSOptions pour faire circuler les datagrammes dans une session DTLS, OnDTLSVerifyPeer décidant quels certificats de pairs tu acceptes.
Lien direct vers la référence du composant, projet de démo prêt à l'emploi et téléchargement de l'essai.
| Aide en ligne — TsgcUDPServer Référence complète des propriétés, méthodes et événements de ce composant. | Ouvrir | |
| Projet de démo — Demos\35.P2P\01.UDP_Server_Client Projet d'exemple prêt à l'emploi. Livré dans le package sgcWebSockets — télécharge l'essai ci-dessous. | Ouvrir | |
| Document technique (PDF) Fonctionnalités, démarrage rapide, exemples de code Delphi et C++ Builder et références primaires — ce composant uniquement. | Ouvrir | |
| Manuel utilisateur (PDF) Manuel complet couvrant tous les composants de la bibliothèque. | Ouvrir |