UDP Server

Escucha datagramas UDP en un puerto y despacha cada uno a tu aplicación. El mismo motor que impulsa TsgcSTUNServer y TsgcTURNServer.

TsgcUDPServer

Listener UDP de alto rendimiento — asocia a un puerto, recibe datagramas de cualquier par, responde a endpoints concretos y escala entre núcleos mediante hilos worker.

Clase del componente

TsgcUDPServer

Protocolo

UDP (RFC 768)

Plataformas

Windows, macOS, Linux, iOS, Android

Edición

Professional / Enterprise

Coloca, escucha, responde

Configura Port, Active := True y luego gestiona los datagramas entrantes en OnMessage y responde mediante Connection.WriteData — un socket, cualquier número de pares remotos.

uses
  sgcP2P;

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

  Server.OnMessage := procedure(Connection: TsgcUDPConnection;
    const aText: string)
  begin
    // eco al par de origen
    Connection.WriteData('echo: ' + aText);
  end;

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

Qué incluye

Un listener UDP multihilo que despacha cada datagrama a un pool de workers y expone un TsgcUDPConnection para la ruta de respuesta.

Puerto único, muchos pares

Un socket asociado gestiona datagramas de cualquier número de endpoints remotos. Cada OnMessage se dispara con un TsgcUDPConnection que identifica el PeerIP / PeerPort de origen.

Ruta de respuesta

Connection.WriteData devuelve un datagrama al par de origen usando el mismo socket — sin necesidad de un binding saliente adicional.

Despacho con hilos

Un pool de workers procesa los paquetes entrantes — configúralo mediante WorkerCount si tu handler hace trabajo pesado. El hilo de recepción nunca se bloquea.

IPv4 / IPv6 / dual-stack

Admite binding solo IPv4, solo IPv6 o dual-stack mediante IPVersion. Las uniones a grupos multicast se exponen mediante JoinMulticastGroup.

Usado bajo TsgcSTUNServer / TsgcTURNServer

Los servidores STUN y TURN (implementaciones completas de RFC 8489 / 8656) se construyen sobre este componente — puedes hacer lo mismo para cualquier protocolo UDP personalizado.

Indicador no-fragment

Configura DontFragment := True en las escrituras salientes — útil para sondeo de path-MTU en protocolos personalizados.

Especificaciones y referencias

Fuentes autorizadas del protocolo que implementa este componente.

Documentación y demos

Accede a la referencia del componente, descarga el proyecto demo listo para ejecutar y la versión de prueba.

Ayuda en línea — TsgcUDPServer Referencia completa de propiedades, métodos y eventos de este componente.
Proyecto demo — Demos\35.P2P\01.UDP_Server_Client Proyecto de ejemplo listo para ejecutar. Se incluye dentro del paquete sgcWebSockets — descarga la prueba abajo.
Documento técnico (PDF) Características, inicio rápido, ejemplos de código para Delphi y C++ Builder y referencias a fuentes primarias — solo este componente.
Manual de usuario (PDF) Manual completo que cubre cada componente de la biblioteca.

¿Listo para ejecutar un servidor UDP?

Descarga la prueba gratuita y escucha datagramas UDP desde Delphi.