Delphi Client WebSocket

TsgcWebSocketClient — un componente client WebSocket completo per Delphi e C++ Builder con SSL/TLS, supporto proxy, compressione dei messaggi e riconnessione automatica.

TsgcWebSocketClient

Componente client WebSocket — si connette a qualsiasi server WebSocket RFC 6455 e scambia messaggi di testo e binari.

Classe del componente

TsgcWebSocketClient

Protocollo

WebSocket — RFC 6455

Piattaforme

Windows, macOS, Linux, iOS, Android

Edizione

Standard / Professional / Enterprise

Trascina il componente, imposta qualche proprietà, vai

Imposta Host, Port e TLS, gestisci OnMessage, poi attiva la connessione. L'handshake, il framing e il ping/pong sono gestiti per te.

uses
  sgcWebSocket_Client, sgcWebSocket_Classes;

var
  oClient: TsgcWebSocketClient;
begin
  oClient := TsgcWebSocketClient.Create(nil);
  oClient.Host := '127.0.0.1';
  oClient.Port := 80;
  oClient.TLS := True;
  oClient.Options.Parameters := '/ws/';

  oClient.OnConnect := OnConnect;
  oClient.OnMessage := OnMessage;
  oClient.OnDisconnect := OnDisconnect;

  oClient.Active := True;
end;

procedure TForm1.OnMessage(Connection: TsgcWSConnection;
  const Text: string);
begin
  Memo1.Lines.Add(Text);
end;

// Send a text frame
oClient.WriteData('hello');
// uses: sgcWebSocket_Client, sgcWebSocket_Classes
TsgcWebSocketClient *oClient = new TsgcWebSocketClient(this);
oClient->Host = "127.0.0.1";
oClient->Port = 80;
oClient->TLS = true;
oClient->Options->Parameters = "/ws/";

oClient->OnConnect = OnConnect;
oClient->OnMessage = OnMessage;
oClient->OnDisconnect = OnDisconnect;

oClient->Active = true;

void __fastcall TForm1::OnMessage(TsgcWSConnection *Connection,
    const UnicodeString Text)
{
  Memo1->Lines->Add(Text);
}

// Send a text frame
oClient->WriteData("hello");
using esegece.sgcWebSockets;

var client = new TsgcWebSocketClient();
client.Host = "127.0.0.1";
client.Port = 80;
client.TLS = true;
client.Options.Parameters = "/ws/";

client.OnConnect    += (conn) => Console.WriteLine("#connected: " + conn.IP);
client.OnDisconnect += (conn, code) => Console.WriteLine("#disconnected: " + code);
client.OnMessage    += (conn, text) => Console.WriteLine(text);

client.Active = true;

// Send a text frame
client.WriteData("hello");

Cosa c'è dentro

23 proprietà published, 22 metodi e 16 eventi — presi direttamente dal riferimento del componente.

Controllo della connessione

Host, Port, URL, TLS, IPVersion e Active aprono una connessione sincrona o asincrona. Connect/Disconnect bloccano il chiamante, Start/Stop girano su un worker thread.

Keep-alive e riconnessione

HeartBeat invia frame di ping WebSocket a tempo; WatchDog riconnette automaticamente dopo una caduta inattesa. OnBeforeHeartBeat e OnBeforeWatchDog ti permettono di personalizzare ogni ciclo.

TLS e proxy

TLSOptions seleziona l'IOHandler (OpenSSL o SChannel), la versione TLS (1.0–1.3) e ALPN; Proxy instrada l'handshake attraverso HTTP o SOCKS; Authentication gestisce schemi Basic / Bearer / personalizzati.

API di messaggistica

WriteData invia un frame di testo con frammentazione opzionale; WriteAndWaitData blocca finché il peer risponde; Ping invia un frame di ping. OnMessage, OnBinary e OnFragmented consegnano i dati in entrata.

Compressione e throttling

Extensions.PerMessage_Deflate negozia la compressione RFC 7692; Throttle limita i bit al secondo in entrambe le direzioni; QueueOptions serializza le scritture Text / Binary / Ping sul thread della connessione.

Diagnostica

LogFile scarica il traffico grezzo in ingresso e uscita su disco; NotifyEvents seleziona come gli eventi vengono inviati al thread principale; OnException, OnError e OnHandshake espongono i dettagli a livello di protocollo.

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 — TsgcWebSocketClient Riferimento completo di proprietà, metodi ed eventi di questo componente.
Progetto demo — 01.WebSocket\01.Client 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 per iniziare?

Scarica la versione di prova gratuita e aggiungi il supporto client WebSocket alla tua applicazione Delphi.