WebSocket Cliente Delphi — sgcWebSockets | eSeGeCe

Delphi WebSocket Cliente

TsgcWebSocketClient — componente cliente WebSocket con todas las prestaciones para Delphi y C++ Builder: SSL/TLS, soporte de proxy, compresión de mensajes y reconexión automática.

TsgcWebSocketClient

Componente WebSocket cliente — conecta con cualquier servidor WebSocket RFC 6455 e intercambia mensajes de texto y binarios.

Clase del componente

TsgcWebSocketClient

Protocolo

WebSocket — RFC 6455

Plataformas

Windows, macOS, Linux, iOS, Android

Edición

Standard / Professional / Enterprise

Coloca el componente, ajusta unas propiedades y listo

Configura Host, Port y TLS, gestiona OnMessage y activa la conexión. El handshake, el framing y el ping/pong se gestionan por ti.

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

Qué hay dentro

23 propiedades publicadas, 22 métodos y 16 eventos — tomados directamente de la referencia del componente.

Control de conexión

Host, Port, URL, TLS, IPVersion y Active abren una conexión síncrona o asíncrona. Connect/Disconnect bloquean al llamador; Start/Stop se ejecutan en un hilo de trabajo.

Keep-alive y reconexión

HeartBeat envía tramas ping de WebSocket en un temporizador; WatchDog reconecta automáticamente tras una caída inesperada. OnBeforeHeartBeat y OnBeforeWatchDog permiten personalizar cada ciclo.

TLS y proxy

TLSOptions selecciona el IOHandler (OpenSSL o SChannel), versión TLS (1.0–1.3) y ALPN; Proxy enruta el handshake a través de HTTP o SOCKS; Authentication gestiona esquemas Basic / Bearer / personalizados.

API de mensajería

WriteData envía una trama de texto con fragmentación opcional; WriteAndWaitData bloquea hasta que el par responde; Ping envía una trama ping. OnMessage, OnBinary y OnFragmented entregan los datos entrantes.

Compresión y throttling

Extensions.PerMessage_Deflate negocia compresión RFC 7692; Throttle limita los bits por segundo en cualquier dirección; QueueOptions serializa las escrituras Text / Binary / Ping en el hilo de la conexión.

Diagnóstico

LogFile vuelca a disco el tráfico entrante y saliente en crudo; NotifyEvents selecciona cómo se despachan los eventos al hilo principal; OnException, OnError y OnHandshake exponen los detalles a nivel de protocolo.

WebSocket WinHTTP Client

Un cliente alternativo, solo para Windows, que ejecuta la conexión WebSocket sobre la pila WinHTTP del sistema operativo en lugar de los sockets de Indy — la misma API de WebSocket, sin dependencias de terceros que desplegar.

Clase del componente

TsgcWSClient_WinHTTP — la misma API de mensajería, eventos y control de conexión que TsgcWebSocketClient, por lo que tu código sigue siendo familiar.

Pila HTTP del sistema operativo

Usa la API nativa WinHTTP de Windows para el handshake y el framing, por lo que no hay librerías de sockets adicionales que enviar con tu aplicación.

TLS con SChannel

Las conexiones seguras las gestiona SChannel de Windows, por lo que TLS funciona sin configuración adicional y sin incluir las DLLs de OpenSSL.

Proxy y autenticación del sistema

Respeta la configuración de proxy del sistema de Windows e integra los esquemas de autenticación de Windows (Basic, NTLM, Negotiate).

Elige TsgcWSClient_WinHTTP cuando quieras un despliegue puramente de Windows que dependa de la pila HTTP y TLS del sistema operativo. Para destinos multiplataforma (macOS, Linux, iOS, Android) usa el TsgcWebSocketClient estándar de arriba.

Especificaciones y referencias

Fuentes autorizadas para los protocolos que implementa este componente.

Documentación y demos

Accede directamente a la referencia del componente, descarga el proyecto demo listo para ejecutar y descarga la prueba.

Ayuda en línea — TsgcWebSocketClient Referencia completa de propiedades, métodos y eventos de este componente.
Proyecto demo — 01.WebSocket\01.Client Proyecto de ejemplo listo para ejecutar. Se incluye en el paquete sgcWebSockets — descarga la prueba más abajo.
Documento técnico (PDF) Características, inicio rápido, ejemplos de código para Delphi, C++ Builder y .NET y referencias de fuentes primarias — solo este componente.
Manual de usuario (PDF) Manual completo que cubre todos los componentes de la librería.

¿Listo para empezar?

Descarga la prueba gratuita y añade soporte WebSocket cliente a tu aplicación Delphi.