Delphi WebSocket-Client

TsgcWebSocketClient — eine WebSocket-Client-Komponente mit vollem Funktionsumfang für Delphi und C++ Builder mit SSL/TLS, Proxy-Unterstützung, Nachrichtenkompression und automatischer Wiederverbindung.

TsgcWebSocketClient

WebSocket-Client-Komponente — verbindet sich mit jedem RFC-6455-WebSocket-Server und tauscht Text- und Binärnachrichten aus.

Komponentenklasse

TsgcWebSocketClient

Protokoll

WebSocket — RFC 6455

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Standard / Professional / Enterprise

Komponente platzieren, ein paar Eigenschaften setzen, los geht's

Setze Host, Port und TLS, behandle OnMessage und aktiviere dann die Verbindung. Handshake, Framing und Ping/Pong werden für dich verwaltet.

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

Was steckt drin

23 veröffentlichte Eigenschaften, 22 Methoden und 16 Ereignisse — direkt aus der Komponentenreferenz.

Verbindungssteuerung

Host, Port, URL, TLS, IPVersion und Active öffnen eine synchrone oder asynchrone Verbindung. Connect/Disconnect blockieren den Aufrufer, Start/Stop laufen in einem Worker-Thread.

Keep-Alive & Wiederverbindung

HeartBeat sendet WebSocket-Ping-Frames per Timer; WatchDog verbindet sich nach unerwartetem Abbruch automatisch erneut. OnBeforeHeartBeat und OnBeforeWatchDog lassen dich jeden Zyklus anpassen.

TLS & Proxy

TLSOptions wählt den IOHandler (OpenSSL oder SChannel), die TLS-Version (1.0–1.3) und ALPN; Proxy leitet den Handshake durch HTTP oder SOCKS; Authentication übernimmt Basic, Bearer oder benutzerdefinierte Schemata.

Messaging-API

WriteData sendet ein Text-Frame mit optionaler Fragmentierung; WriteAndWaitData blockiert, bis der Peer antwortet; Ping sendet ein Ping-Frame. OnMessage, OnBinary und OnFragmented liefern eingehende Daten.

Kompression & Drosselung

Extensions.PerMessage_Deflate handelt RFC-7692-Kompression aus; Throttle begrenzt die Bit-pro-Sekunde-Rate in beide Richtungen; QueueOptions serialisiert Text-, Binär- und Ping-Schreibvorgänge im Verbindungs-Thread.

Diagnose

LogFile schreibt den rohen ein- und ausgehenden Datenverkehr auf die Festplatte; NotifyEvents wählt, wie Ereignisse an den Haupt-Thread weitergeleitet werden; OnException, OnError und OnHandshake bringen Protokolldetails zutage.

Spezifikationen & Referenzen

Maßgebliche Quellen für die Protokolle, die diese Komponente implementiert.

Dokumentation & Demos

Springe direkt zur Komponentenreferenz, hol dir das sofort lauffähige Demo-Projekt und lade die Testversion herunter.

Online-Hilfe — TsgcWebSocketClient Vollständige Eigenschaften-, Methoden- und Ereignisreferenz für diese Komponente.
Demo-Projekt — 01.WebSocket\01.Client Sofort lauffähiges Beispielprojekt. Im sgcWebSockets-Paket enthalten — lade die Testversion unten herunter.
Technisches Dokument (PDF) Funktionen, Schnellstart, Codebeispiele für Delphi, C++ Builder und .NET sowie Primärquellen — nur diese Komponente.
Benutzerhandbuch (PDF) Umfassendes Handbuch, das jede Komponente der Bibliothek behandelt.

Bereit loszulegen?

Lade die kostenlose Testversion herunter und ergänze deine Delphi-Anwendung um WebSocket-Client-Unterstützung.