Resumen de características

sgcWebSockets es una biblioteca multiplataforma que permite la comunicación cliente-servidor en tiempo real. Desarrollada íntegramente en Delphi, es compatible con Windows, Linux, macOS, iOS y Android, con un rendimiento optimizado para aplicaciones de baja latencia y alto rendimiento.

Soporte de plataforma y protocolos

Una base sólida como una roca para cualquier aplicación en tiempo real.

Multiplataforma

Windows, Linux 64 bits, macOS, iOS y Android. Soporte completo de VCL y FireMonkey desde una sola base de código.

Servidor multihilo

Servidor WebSocket conforme con RFC 6455, con IOCP en Windows y EPOLL en Linux para maximizar las conexiones concurrentes.

SSL/TLS 1.2 y 1.3

Cifrado completo en servidor y cliente con backends OpenSSL y SChannel. Gestión de certificados integrada.

Binario y Unicode

Soporte completo de tramas binarias y mensajes de texto Unicode. Transfiere archivos, imágenes y datos estructurados de forma nativa.

Compresión de mensajes

La extensión PerMessage-Deflate reduce el ancho de banda hasta un 80 % con niveles de compresión configurables.

Servidor multiprotocolo

Conexiones WebSocket, HTTP/1.1 y HTTP/2.0 en el mismo puerto. Sin necesidad de servidores separados.

Conexión y mensajería

Mecanismos integrados para mantener las conexiones sanas y los mensajes entregados.

HeartBeat

Ping/pong automático en intervalos configurables. Detecta conexiones muertas pronto y las mantiene vivas a través de firewalls.

WatchDog

Reconexión automática para clientes y reinicio automático para servidores tras desconexiones inesperadas. Recuperación sin tiempo de inactividad.

Calidad de servicio

Tres niveles de QoS: como máximo una vez, al menos una vez y exactamente una vez, para cualquier requisito de fiabilidad.

Encolado de mensajes

Almacenamiento persistente de mensajes con niveles configurables. Reproduce los mensajes perdidos tras una reconexión.

Transacciones

Métodos StartTransaction, Commit y Rollback para operaciones atómicas de varios pasos.

Control de ancho de banda

Limita los bits por segundo por conexión. Evita abusos de ancho de banda y garantiza un reparto justo de recursos.

Métodos de autenticación

Varias estrategias para proteger tus conexiones WebSocket.

Autenticación básica

Autenticación HTTP Basic estándar para validar credenciales de usuario y contraseña.

OAuth2

Soporte completo de OAuth2 para cliente y servidor. Integra proveedores de identidad para autenticación basada en tokens.

Autenticación por sesión y URL

Gestión de sesiones en el servidor y autenticación basada en tokens vía parámetros de URL para clientes en navegador.

Ejemplo de inicio rápido

Crea un servidor WebSocket con solo unas líneas de código Delphi.

uses
  sgcWebSocket_Server, sgcWebSocket_Types;

var
  WSServer: TsgcWebSocketHTTPServer;

procedure TForm1.FormCreate(Sender: TObject);
begin
  WSServer := TsgcWebSocketHTTPServer.Create(nil);
  WSServer.Port := 8080;
  WSServer.SSL := True;
  WSServer.OnMessage := OnMessage;
  WSServer.Active := True;
end;

procedure TForm1.OnMessage(Connection: TsgcWSConnection;
  const aText: string);
begin
  // Devuelve el mensaje al cliente (eco)
  Connection.WriteData(aText);
end;

¿Listo para empezar?

Descarga la prueba gratuita y empieza a construir aplicaciones en tiempo real en minutos.