Cliente WebSocket Delphi

TsgcWebSocketClient — um componente cliente WebSocket completo para Delphi e C++ Builder com SSL/TLS, suporte a proxy, compressão de mensagens e reconexão automática.

TsgcWebSocketClient

Componente cliente WebSocket — conecta-se a qualquer servidor WebSocket RFC 6455 e troca mensagens de texto e binárias.

Classe do componente

TsgcWebSocketClient

Protocolo

WebSocket — RFC 6455

Plataformas

Windows, macOS, Linux, iOS, Android

Edição

Standard / Professional / Enterprise

Adicione o componente, configure algumas propriedades, pronto

Configure Host, Port e TLS, trate OnMessage e ative a conexão. O handshake, enquadramento e ping/pong são gerenciados para você.

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

O que está incluído

23 propriedades publicadas, 22 métodos e 16 eventos — extraídos diretamente da referência do componente.

Controle de conexão

Host, Port, URL, TLS, IPVersion e Active abrem uma conexão síncrona ou assíncrona. Connect/Disconnect bloqueiam o chamador; Start/Stop executam em uma thread de trabalho.

Keep-alive e reconexão

HeartBeat envia frames de ping WebSocket por temporizador; WatchDog reconecta automaticamente após uma queda inesperada. OnBeforeHeartBeat e OnBeforeWatchDog permitem personalizar cada ciclo.

TLS e proxy

TLSOptions seleciona o IOHandler (OpenSSL ou SChannel), a versão TLS (1.0–1.3) e ALPN; Proxy roteia o handshake via HTTP ou SOCKS; Authentication lida com esquemas Basic / Bearer / personalizados.

API de mensagens

WriteData envia um frame de texto com fragmentação opcional; WriteAndWaitData bloqueia até o par responder; Ping envia um frame de ping. OnMessage, OnBinary e OnFragmented entregam dados recebidos.

Compressão e throttling

Extensions.PerMessage_Deflate negocia compressão RFC 7692; Throttle limita bits por segundo em qualquer direção; QueueOptions serializa escritas de Text / Binary / Ping na thread de conexão.

Diagnóstico

LogFile grava tráfego bruto de entrada e saída em disco; NotifyEvents seleciona como os eventos são despachados para a thread principal; OnException, OnError e OnHandshake expõem detalhes do nível de protocolo.

Especificações e referências

Fontes autoritárias para os protocolos implementados por este componente.

Documentação e Demos

Acesse a referência do componente, obtenha o projeto de demonstração pronto para executar e baixe a versão de avaliação.

Ajuda Online — TsgcWebSocketClient Referência completa de propriedades, métodos e eventos deste componente.
Projeto de Demo — 01.WebSocket\01.Client Projeto de exemplo pronto para executar. Incluído no pacote sgcWebSockets — baixe a versão de avaliação abaixo.
Documento Técnico (PDF) Recursos, início rápido, exemplos de código para Delphi, C++ Builder e .NET e referências de fonte primária — somente este componente.
Manual do Usuário (PDF) Manual abrangente cobrindo todos os componentes da biblioteca.

Pronto para começar?

Baixe a versão gratuita e adicione suporte a cliente WebSocket na sua aplicação Delphi.