Delphi WebSocket-server — sgcWebSockets | eSeGeCe

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.
De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Klaar om je server te bouwen?

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