Serwer UDP dla Delphi
Nasłuchuj datagramów UDP na porcie i przekazuj każdy z nich do swojej aplikacji. Ten sam silnik, który zasila TsgcSTUNServer i TsgcTURNServer.
Nasłuchuj datagramów UDP na porcie i przekazuj każdy z nich do swojej aplikacji. Ten sam silnik, który zasila TsgcSTUNServer i TsgcTURNServer.
Wysokowydajny nasłuchujący UDP — powiąż z portem, odbieraj datagramy od dowolnego peera, odpowiadaj wskazanym punktom końcowym, wszystko przez jedno powiązane gniazdo.
TsgcUDPServer
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Ustaw Port, Active := True, następnie obsługuj przychodzące datagramy w OnUDPRead i odpowiadaj przez Socket.WriteData — jedno gniazdo, dowolna liczba zdalnych peerów.
uses
sgcP2P, sgcUDP_Classes, sgcSocket_Classes;
// TFormUDPServer zawiera FServer: TsgcUDPServer oraz 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
// odeślij echo do peera, od którego przyszedł datagram
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)
{
// odeślij echo do peera, od którego przyszedł datagram
Socket->WriteData(TBytes(Bytes));
}
Nasłuchujący UDP, który przekazuje każdy datagram do Twojego handlera wraz z TsgcUDPSocket, na który dotarł i który jest zarazem ścieżką odpowiedzi.
Jedno powiązane gniazdo obsługuje datagramy z dowolnej liczby zdalnych punktów końcowych. Każde OnUDPRead jest wywoływane z TsgcUDPSocket, którego IP i Port identyfikują nadawcę.
Socket.WriteData odsyła datagram do źródłowego peera tym samym gniazdem, a serwer udostępnia także WriteData(ip, port, ...) dla dowolnego innego punktu końcowego.
WatchDog restartuje nasłuchującego, gdy ten przestaje odpowiadać, a OnBeforeWatchDog daje Ci możliwość zawetowania restartu. OnStartup i OnShutdown otaczają każde powiązanie.
Ustaw IPVersion, aby wybrać rodzinę adresów, albo dodaj po jednym wpisie na adres do Bindings za pomocą AddBinding, RemoveBinding i GetBinding, gdy serwer musi nasłuchiwać na kilku.
Serwery STUN i TURN (pełne implementacje RFC 8489 / 8656) są zbudowane na tym komponencie — możesz zrobić to samo dla dowolnego niestandardowego protokołu UDP.
Ustaw DTLS := True i wypełnij DTLSOptions, aby prowadzić datagramy wewnątrz sesji DTLS, a OnDTLSVerifyPeer decyduje, które certyfikaty peerów akceptujesz.
Przejdź bezpośrednio do dokumentacji komponentu, pobierz gotowy do uruchomienia projekt demonstracyjny i pobierz wersję próbną.
| Pomoc online — TsgcUDPServer Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu. | Otwórz | |
| Projekt demonstracyjny — Demos\35.P2P\01.UDP_Server_Client Gotowy do uruchomienia projekt przykładowy. Dostarczany w pakiecie sgcWebSockets — pobierz wersję próbną poniżej. | Otwórz | |
| Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł — tylko ten komponent. | Otwórz | |
| Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki. | Otwórz |