Client WebSocket Delphi
TsgcWebSocketClient — un composant client WebSocket complet pour Delphi et C++ Builder avec SSL/TLS, prise en charge du proxy, compression des messages et reconnexion automatique.
TsgcWebSocketClient — un composant client WebSocket complet pour Delphi et C++ Builder avec SSL/TLS, prise en charge du proxy, compression des messages et reconnexion automatique.
Composant client WebSocket — se connecte à tout serveur WebSocket RFC 6455 et échange des messages texte et binaires.
TsgcWebSocketClient
WebSocket — RFC 6455
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
Définis Host, Port et TLS, gère OnMessage, puis active la connexion. La poignée de main, le framing et le ping/pong sont gérés pour toi.
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 propriétés publiées, 22 méthodes et 16 événements — directement issus de la référence du composant.
Host, Port, URL, TLS, IPVersion et Active ouvrent une connexion synchrone ou asynchrone. Connect/Disconnect bloquent l'appelant, Start/Stop s'exécutent sur un thread de travail.
HeartBeat envoie des trames ping WebSocket sur un minuteur ; WatchDog se reconnecte automatiquement après une coupure inattendue. OnBeforeHeartBeat et OnBeforeWatchDog te permettent de personnaliser chaque cycle.
TLSOptions sélectionne l'IOHandler (OpenSSL ou SChannel), la version TLS (1.0–1.3) et ALPN ; Proxy route la poignée de main via HTTP ou SOCKS ; Authentication gère les schémas Basic / Bearer / personnalisés.
WriteData envoie une trame texte avec fragmentation optionnelle ; WriteAndWaitData bloque jusqu'à la réponse du pair ; Ping envoie une trame ping. OnMessage, OnBinary et OnFragmented livrent les données entrantes.
Extensions.PerMessage_Deflate négocie la compression RFC 7692 ; Throttle plafonne les bits par seconde dans chaque sens ; QueueOptions sérialise les écritures Text / Binary / Ping sur le thread de connexion.
LogFile écrit sur disque le trafic brut entrant et sortant ; NotifyEvents sélectionne la manière dont les événements sont dispatchés vers le thread principal ; OnException, OnError et OnHandshake exposent les détails au niveau du protocole.
Un client alternatif, réservé à Windows, qui fait passer la connexion WebSocket par la pile WinHTTP du système d'exploitation plutôt que par les sockets Indy — même API WebSocket, aucune dépendance tierce à déployer.
TsgcWSClient_WinHTTP — la même API de messagerie, les mêmes événements et le même contrôle de connexion que TsgcWebSocketClient, pour que ton code reste familier.
Utilise l'API native Windows WinHTTP pour la poignée de main et le framing, il n'y a donc aucune bibliothèque de sockets supplémentaire à livrer avec ton application.
Les connexions sécurisées sont gérées par Windows SChannel, le TLS fonctionne donc immédiatement sans empaqueter de DLL OpenSSL.
Respecte la configuration du proxy système Windows et intègre les schémas d'authentification Windows (Basic, NTLM, Negotiate).
Choisis TsgcWSClient_WinHTTP lorsque tu veux un déploiement purement Windows qui s'appuie sur les piles HTTP et TLS du système d'exploitation. Pour les cibles multiplateformes (macOS, Linux, iOS, Android), utilise le TsgcWebSocketClient standard ci-dessus.
Lien direct vers la référence du composant, récupère le projet de démo prêt à l'emploi et télécharge l'essai.
| Aide en ligne — TsgcWebSocketClient Référence complète des propriétés, méthodes et événements de ce composant. | Ouvrir | |
| Projet de démo — 01.WebSocket\01.Client Projet d'exemple prêt à l'emploi. Livré avec le paquet sgcWebSockets — télécharge l'essai ci-dessous. | Ouvrir | |
| Document technique (PDF) Fonctionnalités, démarrage rapide, exemples de code pour Delphi, C++ Builder et .NET, et références de sources primaires — ce composant uniquement. | Ouvrir | |
| Manuel utilisateur (PDF) Manuel complet couvrant chaque composant de la bibliothèque. | Ouvrir |