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

Composant client WebSocket — se connecte à tout serveur WebSocket RFC 6455 et échange des messages texte et binaires.

Classe du composant

TsgcWebSocketClient

Protocole

WebSocket — RFC 6455

Plateformes

Windows, macOS, Linux, iOS, Android

Édition

Standard / Professional / Enterprise

Dépose le composant, configure quelques propriétés, c'est parti

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");

Ce qu'il contient

23 propriétés publiées, 22 méthodes et 16 événements — directement issus de la référence du composant.

Contrôle de connexion

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.

Keep-alive et reconnexion

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.

TLS et proxy

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.

API de messagerie

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.

Compression et limitation

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.

Diagnostics

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.

Spécifications et références

Sources de référence pour les protocoles que ce composant implémente.

Documentation et démos

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.
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.
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.
Manuel utilisateur (PDF) Manuel complet couvrant chaque composant de la bibliothèque.

Prêt à commencer ?

Télécharge l'essai gratuit et ajoute la prise en charge client WebSocket à ton application Delphi.