Delphi WebSocket-client

TsgcWebSocketClient — een volledig uitgerust WebSocket-clientcomponent voor Delphi en C++ Builder met SSL/TLS, proxy-ondersteuning, berichtcompressie en automatische reconnect.

TsgcWebSocketClient

WebSocket-clientcomponent — verbindt met elke RFC 6455-WebSocket-server en wisselt tekst- en binaire berichten uit.

Componentklasse

TsgcWebSocketClient

Protocol

WebSocket — RFC 6455

Platforms

Windows, macOS, Linux, iOS, Android

Editie

Standard / Professional / Enterprise

Plaats het component, stel een paar eigenschappen in, klaar

Stel Host, Port en TLS in, handel OnMessage af en activeer de verbinding. De handshake, framing en ping/pong worden voor je beheerd.

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

Wat zit erin

23 published properties, 22 methodes en 16 events — rechtstreeks uit de componentreferentie.

Verbindingsbeheer

Host, Port, URL, TLS, IPVersion en Active openen een synchrone of asynchrone verbinding. Connect/Disconnect blokkeren de aanroeper, Start/Stop draaien op een worker-thread.

Keep-alive & reconnect

HeartBeat verstuurt WebSocket-ping-frames op een timer; WatchDog reconnect automatisch na een onverwachte drop. OnBeforeHeartBeat en OnBeforeWatchDog laten je elke cyclus aanpassen.

TLS & proxy

TLSOptions kiest de IOHandler (OpenSSL of SChannel), TLS-versie (1.0–1.3) en ALPN; Proxy routeert de handshake via HTTP of SOCKS; Authentication verwerkt Basic / Bearer / aangepaste schema's.

Messaging-API

WriteData verstuurt een text-frame met optionele fragmentatie; WriteAndWaitData blokkeert tot de peer antwoordt; Ping verstuurt een ping-frame. OnMessage, OnBinary en OnFragmented leveren binnenkomende data.

Compressie & throttling

Extensions.PerMessage_Deflate onderhandelt RFC 7692-compressie; Throttle begrenst bits-per-seconde in beide richtingen; QueueOptions serialiseert Text / Binary / Ping-writes op de connection-thread.

Diagnostiek

LogFile dumpt het ruwe inkomende en uitgaande verkeer naar schijf; NotifyEvents kiest hoe events naar de hoofdthread worden gedispatchet; OnException, OnError en OnHandshake brengen protocol-details aan het licht.

Specificaties & referenties

Officiële bronnen voor de protocollen die dit component implementeert.

Documentatie & demo's

Deep-link naar de componentreferentie, pak het kant-en-klare demoproject en download de proefversie.

Online help — TsgcWebSocketClient Volledige referentie van eigenschappen, methodes en events voor dit component.
Demoproject — 01.WebSocket\01.Client Kant-en-klaar voorbeeldproject. Wordt meegeleverd in het sgcWebSockets-pakket — download hieronder de proefversie.
Technisch document (PDF) Functies, snelstart, codevoorbeelden voor Delphi, C++ Builder en .NET en primaire bronverwijzingen — alleen voor dit component.
Gebruikershandleiding (PDF) Uitgebreide handleiding die elk component in de bibliotheek behandelt.

Klaar om te beginnen?

Download de gratis proefversie en voeg WebSocket-client-ondersteuning toe aan je Delphi-toepassing.