Delphi WebSocket-server

TsgcWebSocketHTTPServer — een multithreaded WebSocket- en HTTP-servercomponent met IOCP/EPOLL-ondersteuning, SSL/TLS, authenticatie en statische file serving.

TsgcWebSocketHTTPServer

HTTP + WebSocket-server — bedient wss://-handshakes, broadcast berichten en wordt geleverd met ingebouwde TLS, authenticatie, load-balancer-registratie en HTTP/2.

Componentklasse

TsgcWebSocketHTTPServer

Protocol

WebSocket — RFC 6455

Platforms

Windows, macOS, Linux, iOS, Android

Editie

Professional / Enterprise

Plaats het component, stel een paar eigenschappen in, klaar

Plaats een TsgcWebSocketHTTPServer, stel Port en SSL in, bedraad OnMessage en de server is live.

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;

Wat zit erin

27 published properties, 7 methodes, 22 events — uit de componentreferentie.

Verbinding

Published properties: Active, Port, Bindings.

Messaging

Methodes: Broadcast, WriteData, Ping.

Betrouwbaarheid

Published properties: HeartBeat, WatchDog, LoadBalancer.

Beveiliging

Published properties: Authentication, SSL, SSLOptions.

Lifecycle

Events: OnStartup, OnShutdown, OnTCPConnect.

Data

Events: OnMessage, OnBinary, OnFragmented.

Specificaties & referenties

Officiële bronnen voor de protocollen die dit component implementeert.

Documentatie & demo's

Deep-link naar de componentreferentie, pak het kant-en-klare demoproject en download de proefversie.

Online help — TsgcWebSocketServer Volledige referentie van eigenschappen, methodes en events voor dit component.
Demoproject — 01.WebSocket\02.Server Kant-en-klaar voorbeeldproject. Wordt meegeleverd in het sgcWebSockets-pakket — download hieronder de proefversie.
Technisch document (PDF) Functies, snelstart, codevoorbeelden voor Delphi, C++ Builder en .NET en primaire bronverwijzingen — alleen voor dit component.
Gebruikershandleiding (PDF) Uitgebreide handleiding die elk component in de bibliotheek behandelt.

Klaar om je server te bouwen?

Download de gratis proefversie en maak in enkele minuten een hoog-performante WebSocket-server.