Server UDP
Ascolta datagrammi UDP su una porta e instrada ciascuno alla tua applicazione. Lo stesso engine che alimenta TsgcSTUNServer e TsgcTURNServer.
Ascolta datagrammi UDP su una porta e instrada ciascuno alla tua applicazione. Lo stesso engine che alimenta TsgcSTUNServer e TsgcTURNServer.
Listener UDP ad alte prestazioni — bind a una porta, ricezione di datagrammi da qualunque peer, risposta a endpoint specifici, scalabilità sui core tramite worker thread.
TsgcUDPServer
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Imposta Port, Active := True, poi gestisci i datagrammi in arrivo in OnMessage e rispondi tramite Connection.WriteData — un solo socket, qualunque numero di peer remoti.
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;
Un listener UDP multi-thread che distribuisce ogni datagramma a un pool di worker ed espone una TsgcUDPConnection per il percorso di risposta.
Un solo socket associato gestisce datagrammi da qualunque numero di endpoint remoti. Ogni OnMessage si attiva con una TsgcUDPConnection che identifica l'origine tramite PeerIP / PeerPort.
Connection.WriteData invia un datagramma al peer di origine usando lo stesso socket — nessun binding in uscita aggiuntivo necessario.
Un pool di worker elabora i pacchetti in arrivo — configura tramite WorkerCount se il tuo handler fa lavoro pesante. Il thread di ricezione non viene mai bloccato.
Supporta binding IPv4-only, IPv6-only o dual-stack tramite IPVersion. I join ai gruppi multicast sono esposti tramite JoinMulticastGroup.
I server STUN e TURN (implementazioni complete RFC 8489 / 8656) si basano su questo componente — puoi fare lo stesso per qualunque protocollo UDP personalizzato.
Imposta DontFragment := True sulle scritture in uscita — utile per il probing del path-MTU in protocolli personalizzati.
Collegamenti diretti al riferimento del componente, al progetto demo pronto all'uso e al download della versione di prova.
| Guida online — TsgcUDPServer Riferimento completo di proprietà, metodi ed eventi di questo componente. | Apri | |
| Progetto demo — Demos\35.P2P\01.UDP_Server_Client Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto. | Apri | |
| Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi e C++ Builder e riferimenti alle fonti primarie — solo per questo componente. | Apri | |
| Manuale utente (PDF) Manuale completo che copre ogni componente della libreria. | Apri |