sgcHTTPServidor HTTP, HTTP/2y gRPC en Delphi.Google Cloud también.
Un servidor HTTP y cinco componentes cliente. TsgcHTTPServer publica endpoints HTTP y archivos estáticos desde tu propia aplicación. TsgcHTTP2Client habla HTTP/2 con flujos multiplexados sobre una sola conexión TLS y compresión de cabeceras HPACK. TsgcGRPCClient es un cliente gRPC construido sobre él, para llamadas Protocol Buffers unarias y de streaming. Otras tres clases llegan a Google Cloud por HTTPS simple: Pub/Sub, Calendar y Firebase Cloud Messaging.
Inicio rápido de sgcHTTP | HTTP/2 y gRPC desde Delphi
gRPC encima
Servidor HTTP
TsgcHTTPServer
HTTP/2
h2 + HPACK
gRPC
Protocol Buffers
Google Cloud
HTTPS + JWT
3Componentes de la paleta: el servidor HTTP, el cliente HTTP/2 y el cliente gRPC
5Clases cliente en total
3Servicios de Google Cloud: Pub/Sub, Calendar y FCM
1Instalador independiente, con el runtime Core incluido
100%Código fuente incluido en cada licencia
Míralo en marcha
Descubre sgcHTTP en dos minutos.
Un inicio rápido narrado y subtitulado: un cliente HTTP/2 que envía muchas peticiones por una sola conexión y, después, una llamada gRPC sobre ese mismo transporte, todo desde Delphi. No se descarga nada hasta que pulses reproducir.
Inicio rápido de sgcHTTP
Llama a un endpoint HTTP/2 y haz una llamada gRPC, desde Delphi.
Crea el cliente HTTP/2Crea un TsgcHTTP2Client, gestiona OnHTTP2Response y llama a Get. El protocolo h2 se negocia durante el handshake TLS mediante ALPN.
Muchas peticiones, una conexiónLas peticiones comparten una única conexión TCP como flujos independientes, de modo que una respuesta lenta no bloquea a las demás.
gRPC sobre el mismo transporteAsigna el cliente HTTP/2 al cliente gRPC y llama a un método por servicio y nombre. Los mensajes viajan como Protocol Buffers con prefijo de longitud.
Cuatro patrones RPCUnario, streaming de servidor, streaming de cliente y streaming bidireccional, cada uno con su propio método en TsgcGRPCClient.
Dos componentes de la paleta
Un cliente HTTP/2 y gRPC montado sobre él.
Ambos componentes se declaran en la unidad sgcHTTP y TsgcGRPCClient lleva su propia conexión HTTP/2 a través de su propiedad Client .
Flujos multiplexados sobre una sola conexión TLS
TsgcHTTP2Client habla HTTP/2 (RFC 9113): varias peticiones comparten una única conexión TCP como flujos independientes. Las cabeceras se comprimen con HPACK y h2 se negocia durante el handshake TLS mediante ALPN. Se cubren todos los verbos: Get, Post, Put, Patch, Delete y Options, cada uno con una llamada síncrona y una variante Async .
RPC unario y de streaming sobre el cliente HTTP/2
TsgcGRPCClient hereda la conexión multiplexada y añade encima el formato de transmisión gRPC. Call y CallAsync cubren los RPC unarios, ServerStreamingCall gestiona un flujo de respuestas a una petición, y OpenClientStream y OpenBidiStream cubren el streaming de cliente y el streaming bidireccional. RetryPolicy, Interceptors y ServiceConfig añaden reintentos y lógica transversal sin tocar los puntos de llamada.
Un servidor, cinco clases cliente
Dos dependencias, no cinco.
Las cinco clases se reparten con claridad según lo que necesitan por debajo. HTTP/2 y gRPC necesitan ALPN, y eso significa sgcCustomIndy. Google Cloud no necesita nada más que HTTPS y una cuenta de servicio, algo que el runtime Core incluido ya ofrece. El servidor HTTP procede de ese mismo runtime.
Servidor HTTP
TsgcHTTPServer publica endpoints HTTP desde tu propia aplicación. Establece Port, gestiona OnCommandGet, activa Active y cada petición llega a tu código. OnCommandOther cubre verbos como PUT y DELETE. Se incluye con el runtime Core.
Archivos estáticos y subidas
Apunta DocumentRoot a una carpeta y el servidor devuelve los archivos estáticos desde ella. HTTPUploadFiles guarda en disco los archivos subidos, MaxRequestBodySize limita el tamaño de los cuerpos de petición, y HTTPCompression y KeepAlive mantienen las respuestas pequeñas y las conexiones abiertas.
Listo para producción
SSL y SSLOptions activan TLS, Authentication y OnAuthentication protegen los endpoints, SessionState controla las sesiones, y ThreadPool y MaxConnections regulan cómo escala. El mismo motor que el servidor WebSocket, sin la parte WebSocket.
HTTP/2
TsgcHTTP2Client multiplexa flujos independientes sobre una sola conexión TLS, comprime las cabeceras con HPACK y negocia h2 mediante ALPN. Connect, Get, Post, Put, Patch, Delete y Options, síncrono o Asyncregula el ritmo de los repintados.
gRPC
TsgcGRPCClient se apoya en el cliente HTTP/2: mensajes Protocol Buffers con prefijo de longitud sobre flujos HTTP/2, con RPC unarios, de streaming de servidor, de streaming de cliente y bidireccionales, además de política de reintentos e interceptores.
Google Cloud, HTTPS simple
TsgcHTTPGoogleCloud_PubSub_Client, TsgcHTTPGoogleCloud_Calendar_Client y TsgcHTTPGoogleCloud_FCM_Client llegan a Pub/Sub, Calendar y Firebase Cloud Messaging, autenticados con una cuenta de servicio de Google. Ninguno necesita sgcCustomIndy.
Server push y cuerpos fragmentados
Los eventos exponen el ciclo de vida de la conexión: OnHTTP2Connect, OnHTTP2Response, OnHTTP2ResponseFragment para cuerpos fragmentados, OnHTTP2PushPromise para server push, OnHTTP2GoAway y OnHTTP2Disconnect. Nada del ciclo de vida del flujo queda oculto.
Una dependencia para dos, ninguna para tres
Los clientes HTTP/2 y gRPC se construyen sobre sgcCustomIndy, que cubre el mismo rango de plataformas que el propio sgcWebSockets. Los clientes de Google Cloud usan HTTPS simple, así que funcionan allí donde funciona el runtime Core. De Delphi 7 a RAD Studio 13, y C++ Builder.
Código fuente completo incluido
Cada licencia incluye el código fuente completo del servidor HTTP, de los cinco clientes y del runtime incluido, de modo que las implementaciones a nivel de red se recorren paso a paso en tu propio depurador. La distribución no paga royalties.
Crea el componenteLos clientes están en la unidad sgcHTTP y el servidor en sgcHTTP_Server. TsgcGRPCClient lleva su propia conexión HTTP/2 a través de su propiedad Client.
Apúntalo a un hostBasta con un host https://. ALPN negocia h2 durante el handshake TLS y HPACK comprime las cabeceras.
Enlaza el evento de respuestaOnHTTP2Response y OnGRPCResponse te entregan el cuerpo decodificado, con la petición y la conexión adjuntas.
Envía, de forma síncrona o noCada verbo y cada RPC tiene una llamada bloqueante y su variante Async, así que el hilo de la interfaz queda libre.
Qué necesita sgcHTTP de ti y qué no. Las dos respuestas son breves, y las dos están en esta página y no en la letra pequeña.
Dependencias por cliente
cliente necesita sgcCustomIndyTsgcHTTPServerno, se incluye con el runtime CoreTsgcHTTP2Clientsí, para ALPNTsgcGRPCClientsí, se apoya en TsgcHTTP2ClientTsgcHTTPGoogleCloud_PubSub_Clientno, HTTPS simpleTsgcHTTPGoogleCloud_Calendar_Clientno, HTTPS simpleTsgcHTTPGoogleCloud_FCM_Clientno, HTTPS simpleHTTP/2 negocia h2 con ALPN durante el handshake TLS.
La biblioteca Indy estándar que se incluye con RAD Studio
no admite ALPN, por lo que tanto HTTP/2 como gRPC se
construyen sobre sgcCustomIndy.
sgcHTTP es independiente
El runtime Core de sgcWebSockets está incluido: el servidor HTTP, la pila cliente HTTP/TLS por la que cada cliente envía sus peticiones y la capa JSON que decodifica las respuestas de Google Cloud. Un solo instalador, con el código fuente completo.
HTTP/2 y gRPC necesitan sgcCustomIndy
La negociación ALPN no está soportada por la biblioteca Indy estándar, así que TsgcHTTP2Client y, por extensión, TsgcGRPCClient se construyen sobre sgcCustomIndy en su lugar. Siempre se incluye al pedir sgcHTTP, y el precio mostrado ya lo cubre.
Google Cloud solo necesita HTTPS
Los tres clientes de Google Cloud se autentican con el id de proyecto, el correo de cliente y la clave privada de una cuenta de servicio de Google, y llaman a las API REST sobre la pila HTTPS simple del runtime Core. Sin biblioteca nativa, sin sgcCustomIndy.
Delphi y C++ Builder
sgcHTTP está dirigido a Delphi 7 hasta RAD Studio 13 y C++ Builder. Los mismos componentes también están dentro de sgcWebSockets Enterprise, así que una licencia Enterprise o All-Access que ya tengas puede cubrirte. El instalador de prueba es el de sgcWebSockets All-Access, por lo que hoy puedes evaluar las cinco clases.
ALPN
HPACK
Protocol Buffers
JWT de cuenta de servicio
Código fuente completo
sgcHTTP implementa las superficies publicadas de HTTP/2, gRPC y la API REST de Google Cloud en lugar de envolver un SDK de terceros, así que los flujos, las cabeceras, los RPC y las notificaciones push son métodos y eventos de primera clase, y con el código fuente completo nada de lo que hay en medio es una caja negra.
Parte de sgcWebSockets
Un único paquete de sgcWebSockets, con licencia propia.
sgcHTTP incluye el runtime Core de sgcWebSockets sobre el que está construido, y el complemento sgcCustomIndy que necesitan HTTP/2 y gRPC se incluye siempre. Cada licencia incluye el código fuente completo y distribución sin royalties.
Single
1 licencia de desarrollador. Úsala en una máquina a la vez.
€398
Team
2 licencias de desarrollador. Úsalas en dos máquinas a la vez.
€648
Site
Desarrolladores ilimitados. Todas las máquinas de la empresa.
€1,048
Componentes cliente HTTP/2, gRPC y Google Cloud para Delphi y C++ Builder, con el runtime Core de sgcWebSockets incluido. ¿Ya tienes sgcWebSockets Enterprise? Los mismos componentes también están ahí.
La confianza de desarrolladores de Delphi, C++ Builder, Lazarus y .NET en todo el mundo.
Vuestra librería sgcWebSockets es muy útil y fácil de configurar. ¡Seguid así!
Simone MorettiDesarrollador Delphi
sgcWebSockets es increíble y vuestro soporte es el mejor.
Christian MeyerFundador y CTO
Muchas gracias por vuestra ayuda y soporte, me encantan vuestros componentes.
Mark SteinfeldCTO
HTTP moderno, gRPC y Google Cloud desde código nativo.
Un servidor HTTP, HTTP/2 multiplexado, gRPC con streaming y tres clientes de Google Cloud, con el runtime Core de sgcWebSockets incluido y el código fuente completo.
sgcHTTP comparte convenciones con las demás bibliotecas de componentes de eSeGeCe para Delphi, C++ Builder y .NET. Incluyen el código fuente completo y se distribuyen sin royalties.
Garantía de devolución de 30 días¿No estás satisfecho? Solicita un reembolso completo en los 30 días posteriores a la compra. Ver política de reembolso