Server UDP per Delphi
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, tutto attraverso un solo socket associato.
TsgcUDPServer
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Imposta Port, Active := True, poi gestisci i datagrammi in arrivo in OnUDPRead e rispondi tramite Socket.WriteData — un solo socket, qualunque numero di peer remoti.
uses
sgcP2P, sgcUDP_Classes, sgcSocket_Classes;
// TFormUDPServer contiene FServer: TsgcUDPServer e l'handler
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
// rispondi al peer da cui è arrivato il datagramma
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)
{
// rispondi al peer da cui è arrivato il datagramma
Socket->WriteData(TBytes(Bytes));
}
Un listener UDP che consegna ogni datagramma al tuo handler insieme alla TsgcUDPSocket su cui è arrivato, che è anche il percorso di risposta.
Un solo socket associato gestisce datagrammi da qualunque numero di endpoint remoti. Ogni OnUDPRead si attiva con una TsgcUDPSocket il cui IP e il cui Port identificano il mittente.
Socket.WriteData invia un datagramma al peer di origine usando lo stesso socket, e il server offre anche WriteData(ip, port, ...) per qualunque altro endpoint.
WatchDog riavvia il listener quando smette di rispondere, e OnBeforeWatchDog ti dà la possibilità di annullare il riavvio. OnStartup e OnShutdown delimitano ogni bind.
Imposta IPVersion per la famiglia, oppure aggiungi una voce per indirizzo a Bindings con AddBinding, RemoveBinding e GetBinding quando il server deve ascoltare su più indirizzi.
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 DTLS := True e compila DTLSOptions per far viaggiare i datagrammi dentro una sessione DTLS, con OnDTLSVerifyPeer che decide quali certificati dei peer accetti.
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 |