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 — un componente client WebSocket completo per Delphi e C++ Builder con SSL/TLS, supporto proxy, compressione dei messaggi e riconnessione automatica.
Componente client WebSocket — si connette a qualsiasi server WebSocket RFC 6455 e scambia messaggi di testo e binari.
TsgcWebSocketClient
WebSocket — RFC 6455
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
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");
23 proprietà published, 22 metodi e 16 eventi — presi direttamente dal riferimento del componente.
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.
HeartBeat invia frame di ping WebSocket a tempo; WatchDog riconnette automaticamente dopo una caduta inattesa. OnBeforeHeartBeat e OnBeforeWatchDog ti permettono di personalizzare ogni ciclo.
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.
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.
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.
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.
Un client alternativo, solo per Windows, che esegue la connessione WebSocket sullo stack WinHTTP del sistema operativo anziché sui socket Indy — stessa API WebSocket, nessuna dipendenza di terze parti da distribuire.
TsgcWSClient_WinHTTP — la stessa API di messaggistica, gli stessi eventi e lo stesso controllo della connessione di TsgcWebSocketClient, così il tuo codice resta familiare.
Usa l'API nativa di Windows WinHTTP per l'handshake e il framing, quindi non ci sono librerie socket aggiuntive da distribuire con la tua applicazione.
Le connessioni sicure sono gestite da SChannel di Windows, quindi il TLS funziona da subito senza includere le DLL di OpenSSL.
Rispetta la configurazione del proxy di sistema di Windows e integra gli schemi di autenticazione di Windows (Basic, NTLM, Negotiate).
Scegli TsgcWSClient_WinHTTP quando vuoi una distribuzione esclusivamente per Windows che si basi sullo stack HTTP e TLS del sistema operativo. Per i target multipiattaforma (macOS, Linux, iOS, Android) usa il TsgcWebSocketClient standard descritto sopra.
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. | Apri | |
| Progetto demo — 01.WebSocket\01.Client Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto. | Apri | |
| Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi, C++ Builder e .NET e riferimenti alle fonti primarie — solo per questo componente. | Apri | |
| Manuale utente (PDF) Manuale completo che copre ogni componente della libreria. | Apri |