Delphi WebSocket-Server

TsgcWebSocketHTTPServer — eine multithreaded WebSocket- und HTTP-Server-Komponente mit IOCP/EPOLL-Unterstützung, SSL/TLS, Authentifizierung und Auslieferung statischer Dateien.

TsgcWebSocketHTTPServer

HTTP- + WebSocket-Server — verarbeitet wss://-Handshakes, sendet Nachrichten im Broadcast und bringt integrierte TLS-, Authentifizierungs-, Load-Balancer-Registrierungs- und HTTP/2-Funktionen mit.

Komponentenklasse

TsgcWebSocketHTTPServer

Protokoll

WebSocket — RFC 6455

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Professional / Enterprise

Komponente platzieren, ein paar Eigenschaften setzen, los geht's

Platziere einen TsgcWebSocketHTTPServer, setze Port und SSL, verdrahte OnMessage und der Server läuft.

uses
  sgcWebSocket, sgcWebSocket_Server, sgcWebSocket_Classes;

var
  WSServer: TsgcWebSocketHTTPServer;
begin
  WSServer := TsgcWebSocketHTTPServer.Create(nil);
  WSServer.Port := 80;

  WSServer.OnConnect       := WSServerConnect;
  WSServer.OnMessage       := WSServerMessage;
  WSServer.OnDisconnect    := WSServerDisconnect;
  WSServer.OnError         := WSServerError;
  WSServer.OnAuthentication := WSServerAuthentication;

  WSServer.Active := True;
end;

procedure TForm1.WSServerMessage(Connection: TsgcWSConnection;
  const Text: string);
begin
  // Broadcast to every connected client
  WSServer.WriteData(Text);
end;

procedure TForm1.WSServerAuthentication(Connection: TsgcWSConnection;
  aUser, aPassword: string; var Authenticated: Boolean);
begin
  Authenticated := (aUser = 'admin') and (aPassword = 's3cret');
end;
// uses: sgcWebSocket, sgcWebSocket_Server
TsgcWebSocketHTTPServer *WSServer = new TsgcWebSocketHTTPServer(this);
WSServer->Port = 80;

WSServer->OnConnect       = WSServerConnect;
WSServer->OnMessage       = WSServerMessage;
WSServer->OnDisconnect    = WSServerDisconnect;
WSServer->OnError         = WSServerError;
WSServer->OnAuthentication = WSServerAuthentication;

WSServer->Active = true;

void __fastcall TForm1::WSServerMessage(TsgcWSConnection *Connection,
    const UnicodeString Text)
{
  WSServer->WriteData(Text);
}
using esegece.sgcWebSockets;

var server = new TsgcWebSocketHTTPServer();
server.Port = 80;

server.OnConnect        += (conn) => Console.WriteLine("#connected: " + conn.IP);
server.OnMessage        += (conn, text) => server.WriteData(text);  // broadcast
server.OnDisconnect     += (conn, code) => Console.WriteLine("#disconnected: " + code);
server.OnAuthentication += (conn, user, pass, ref ok) => { ok = (user == "admin" && pass == "s3cret"); };

server.Active = true;

Was steckt drin

27 veröffentlichte Eigenschaften, 7 Methoden, 22 Ereignisse — direkt aus der Komponentenreferenz.

Verbindung

Veröffentlichte Eigenschaften: Active, Port, Bindings.

Messaging

Methoden: Broadcast, WriteData, Ping.

Zuverlässigkeit

Veröffentlichte Eigenschaften: HeartBeat, WatchDog, LoadBalancer.

Sicherheit

Veröffentlichte Eigenschaften: Authentication, SSL, SSLOptions.

Lebenszyklus

Ereignisse: OnStartup, OnShutdown, OnTCPConnect.

Daten

Ereignisse: OnMessage, OnBinary, OnFragmented.

Spezifikationen & Referenzen

Maßgebliche Quellen für die Protokolle, die diese Komponente implementiert.

Dokumentation & Demos

Springe direkt zur Komponentenreferenz, hol dir das sofort lauffähige Demo-Projekt und lade die Testversion herunter.

Online-Hilfe — TsgcWebSocketServer Vollständige Eigenschaften-, Methoden- und Ereignisreferenz für diese Komponente.
Demo-Projekt — 01.WebSocket\02.Server Sofort lauffähiges Beispielprojekt. Im sgcWebSockets-Paket enthalten — lade die Testversion unten herunter.
Technisches Dokument (PDF) Funktionen, Schnellstart, Codebeispiele für Delphi, C++ Builder und .NET sowie Primärquellen — nur diese Komponente.
Benutzerhandbuch (PDF) Umfassendes Handbuch, das jede Komponente der Bibliothek behandelt.

Bereit, deinen Server zu bauen?

Lade die kostenlose Testversion herunter und erstelle in wenigen Minuten einen hochperformanten WebSocket-Server.