Delphi Server WebSocket

TsgcWebSocketHTTPServer — un componente server WebSocket e HTTP multithread con supporto IOCP/EPOLL, SSL/TLS, autenticazione e file serving statico.

TsgcWebSocketHTTPServer

Server HTTP + WebSocket — serve handshake wss://, fa broadcast dei messaggi e include TLS, autenticazione, registrazione al bilanciatore di carico e HTTP/2.

Classe del componente

TsgcWebSocketHTTPServer

Protocollo

WebSocket — RFC 6455

Piattaforme

Windows, macOS, Linux, iOS, Android

Edizione

Professional / Enterprise

Trascina il componente, imposta qualche proprietà, vai

Trascina un TsgcWebSocketHTTPServer, imposta Port e SSL, collega OnMessage e il server è attivo.

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;

Cosa c'è dentro

27 proprietà published, 7 metodi, 22 eventi — presi dal riferimento del componente.

Connessione

Proprietà published: Active, Port, Bindings.

Messaggistica

Metodi: Broadcast, WriteData, Ping.

Affidabilità

Proprietà published: HeartBeat, WatchDog, LoadBalancer.

Sicurezza

Proprietà published: Authentication, SSL, SSLOptions.

Ciclo di vita

Eventi: OnStartup, OnShutdown, OnTCPConnect.

Dati

Eventi: OnMessage, OnBinary, OnFragmented.

Specifiche e riferimenti

Fonti autorevoli per i protocolli implementati da questo componente.

Documentazione e demo

Vai direttamente al riferimento del componente, prendi il progetto demo pronto all'uso e scarica la versione di prova.

Guida online — TsgcWebSocketServer Riferimento completo di proprietà, metodi ed eventi di questo componente.
Progetto demo — 01.WebSocket\02.Server Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto.
Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi, C++ Builder e .NET e riferimenti alle fonti primarie — solo per questo componente.
Manuale utente (PDF) Manuale completo che copre ogni componente della libreria.

Pronto a costruire il tuo server?

Scarica la versione di prova gratuita e crea un server WebSocket ad alte prestazioni in pochi minuti.