Matrice delle funzionalità di sgcHTTP: HTTP/2, gRPC e Google Cloud | eSeGeCe

sgcHTTP matrice delle funzionalità

Tutto quello che fa sgcHTTP, mappato sul client HTTP/2, il client gRPC e i tre client Google Cloud. Ogni funzionalità si comporta allo stesso modo in Delphi e in C++ Builder, e ogni licenza include il codice sorgente completo. Le sottopagine dei componenti non sono ancora pubblicate per questo lancio, ogni voce qui sotto è autonoma su questa pagina.

Client HTTP/2

Stream multiplati, HPACK, ALPN

Client gRPC

RPC unarie e in streaming

Google Cloud

Pub/Sub, Calendar e FCM

Standard e piattaforme

Da Delphi 7 a 13, C++ Builder

sgcHTTP è autosufficiente. Viene distribuito con il runtime sgcWebSockets Core incluso, quindi non è un componente aggiuntivo.

HTTP/2 e gRPC richiedono sgcCustomIndy. Entrambe le classi richiedono ALPN per la negoziazione del protocollo TLS, che la libreria Indy standard non supporta, quindi sono costruite invece su sgcCustomIndy. Viene aggiunto al tuo ordine automaticamente. I tre client Google Cloud sono HTTPS puro e non lo richiedono.

Cinque classi, un'unità

Due componenti sulla pagina della palette SGC HTTP, e tre classi Google Cloud solo-codice, tutte dichiarate nell'unità sgcHTTP.

ComponenteClassePalette?Descrizione
Client HTTP/2TsgcHTTP2ClientClient HTTP/2 nativo: stream multiplati, compressione degli header HPACK, negoziazione ALPN. Richiede sgcCustomIndy.
Client gRPCTsgcGRPCClientClient gRPC costruito sul client HTTP/2: RPC unarie, server-streaming, client-streaming e bidirezionali. Richiede sgcCustomIndy.
Google Cloud Pub/SubTsgcHTTPGoogleCloud_PubSub_ClientNo, solo-codiceAPI REST di Google Cloud Pub/Sub: topic, subscription, snapshot, publish e pull. HTTPS puro sul Core.
Google Cloud CalendarTsgcHTTPGoogleCloud_Calendar_ClientNo, solo-codiceGoogle Calendar API v3: calendari ed eventi, creazione, aggiornamento, elenco, eliminazione. HTTPS puro sul Core.
Google Cloud FCMTsgcHTTPGoogleCloud_FCM_ClientNo, solo-codiceAPI HTTP v1 di Firebase Cloud Messaging: invia un payload di notifica push con una sola chiamata. HTTPS puro sul Core.

Richieste multiplate, HPACK, ALPN

TsgcHTTP2Client parla HTTP/2 (RFC 9113) su un'unica connessione TLS, negoziata con ALPN, il motivo per cui è costruito su sgcCustomIndy.

FunzionalitàAPINote
ConnessioneHost, Port, ActiveUn'unica connessione TLS porta ogni stream di richiesta multiplato.
ConnettiConnect, ConnectAsyncApre la connessione ed emette una richiesta opzionale nella stessa chiamata.
LeggiGet, GetAsyncChiamata sincrona oppure fire-and-forget con la risposta consegnata via evento.
ScriviPost, PostAsync, Put, PutAsync, Patch, PatchAsyncI corpi delle richieste sono stream, così gli upload non devono stare in memoria.
Delete e OptionsDelete, DeleteAsync, Options, OptionsAsyncIl resto del set di verbi HTTP, stesso abbinamento sincrono/asincrono.
RisposteOnHTTP2ResponseConsegna insieme l'oggetto richiesta e l'oggetto risposta, incluso Response.DataString e lo stato.
Corpi a blocchiOnHTTP2ResponseFragmentScatta a ogni frammento di una risposta a blocchi che arriva, prima dell'OnHTTP2Response finale.
Server pushOnHTTP2PushPromiseMostra le risorse inviate dal server con push HTTP/2 man mano che arrivano.
Ciclo di vita della connessioneOnHTTP2Connect, OnHTTP2Disconnect, OnHTTP2GoAway, OnHTTP2RSTStreamI segnali di connessione, disconnessione e reset dello stream definiti da HTTP/2.
ImpostazioniHTTP2Options, SettingsI valori del frame SETTINGS HTTP/2 locale inviati al peer.
AffidabilitàWatchDog, HeartBeat, ThrottleRiconnessione automatica, keep-alive e limitazione delle richieste, condivisi con il resto dello stack sgc HTTP.
Auth e TLSAuthentication, TLSOptions, OnHTTP2AuthorizationSchemi di autenticazione standard e configurazione TLS, più un hook per header di autorizzazione personalizzati.
DipendenzasgcCustomIndyALPN negozia il protocollo h2 durante l'handshake TLS; la libreria Indy standard non può farlo.

Streaming unario, server, client e bidirezionale

TsgcGRPCClient porta i payload Protocol Buffers sugli stream multiplati del client HTTP/2, quindi copre tutte e quattro le forme di chiamata gRPC.

FunzionalitàAPINote
TrasportoClientUn'istanza di TsgcHTTP2Client; il client gRPC vi si appoggia invece di aprire una propria connessione.
RPC unariaCall, CallAsync, CallStringUna richiesta, una risposta. Call blocca e restituisce un TsgcGRPCResponse; CallAsync la consegna tramite OnGRPCResponse.
Server streamingServerStreamingCallUna richiesta, uno stream di risposte consegnate tramite OnGRPCStreamMessage fino a OnGRPCStreamEnd.
Client streamingOpenClientStream, SendStreamMessage, CloseClientStream, CloseClientStreamAsyncUno stream di richieste, una risposta finale quando lo stream si chiude.
Streaming bidirezionaleOpenBidiStream, SendBidiMessage, CloseBidiStreamEntrambi i lati fanno streaming in modo indipendente sulla stessa chiamata.
AnnullamentoCancelCallAnnulla una chiamata in corso tramite il suo id di stream.
RisposteOnGRPCResponse, OnGRPCStreamMessage, OnGRPCStreamEndTsgcGRPCResponse porta StatusCode, Data/DataString, Headers e Trailers.
ErroriOnGRPCError, OnGRPCExceptionErrori con codice di stato gRPC ed eccezioni a livello di trasporto, consegnati separatamente.
MetadatiDefaultMetadata, OnGRPCBeforeRequestHeader di metadati gRPC per singola chiamata e predefiniti.
ResilienzaRetryPolicy, Interceptors, ServiceConfigComportamento di retry, una catena di interceptor trasversale, e configurazione del servizio, senza toccare i singoli punti di chiamata.
OsservabilitàMetricsCollectorRaccoglie le metriche delle chiamate per il client.
DipendenzasgcCustomIndyEreditata dal client HTTP/2 su cui è costruito; ALPN è richiesto allo stesso modo.

Pub/Sub, Calendar e notifiche push

Tre classi solo-codice, autenticate con un service account Google e raggiunte su HTTPS puro. Nessuna di loro richiede sgcCustomIndy.

FunzionalitàAPINote
AutenticazioneGoogleCloudOptions.JWT, OnAuthToken, OnAuthTokenErrorJWT del service account: project id, email client e chiave privata. Forma condivisa tra tutti e tre i client.
Pub/Sub: publish e pullPublish, Pull, Acknowledge, SeekTsgcHTTPGoogleCloud_PubSub_Client. Invia messaggi a un topic, preleva e conferma da una subscription.
Pub/Sub: topicCreateTopic, DeleteTopic, GetTopic, ListTopicsGestisci i topic direttamente da codice.
Pub/Sub: subscriptionCreateSubscription, DeleteSubscripton, ListSubscriptions, ModifyAckDeadlineSubscriptionCiclo di vita completo delle subscription, incluse le modifiche all'ack-deadline e alla push-config.
Pub/Sub: snapshotCreateSnapshot, DeleteSnapshot, ListSnapshotsCattura lo stato di conferma di una subscription per un replay successivo.
Calendar: calendariNewCalendar, UpdateCalendar, DeleteCalendar, LoadCalendarsTsgcHTTPGoogleCloud_Calendar_Client. Avvolge l'elenco calendari della Google Calendar API v3.
Calendar: eventiNewEvent, UpdateEvent, DeleteEvent, LoadEventsCrea, modifica ed elimina eventi su un dato calendario.
Calendar: sincronizzazioneLoadCalendarsChanged, LoadEventsChanged, OnGetCalendar, OnGetCalendarEventHook di sincronizzazione incrementale per calendari ed eventi cambiati dall'ultima sincronizzazione.
FCM: pushSendMessageTsgcHTTPGoogleCloud_FCM_Client. Una sola chiamata invia un payload Firebase Cloud Messaging v1 a un progetto.
TLS e logTLSOptions, LogFileCondivisi da tutti e tre i client Google Cloud.

API, compilatori e target

Standard pubblici sul filo, e lo stesso sorgente su ogni compilatore supportato.

AmbitoDettaglio
HTTP/2RFC 9113, con compressione degli header HPACK e negoziazione del protocollo ALPN.
gRPCPayload Protocol Buffers su stream HTTP/2, seguendo il protocollo sul filo di gRPC.
Google CloudL'API REST di Pub/Sub, la Google Calendar API v3, e l'API HTTP v1 di Firebase Cloud Messaging, tutte autenticate con un service account Google.
PiattaformeWindows Win32, Windows Win64, Linux64, macOS, iOS e Android per tutte e cinque le classi.
DipendenzaI client HTTP/2 e gRPC richiedono sgcCustomIndy per ALPN. I client Google Cloud richiedono solo il runtime Core incluso.
CompilatoriDelphi e C++ Builder dalla versione 7 alla 13.
EdizioniHTTP/2 è incluso anche in sgcWebSockets a partire dalla Professional, gRPC a partire dalla Enterprise, e i client Google Cloud a partire dalla Standard.
LicenzeAutonomo. Il runtime sgcWebSockets Core è incluso e il codice sorgente completo fa parte della fornitura.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Costruisci con sgcHTTP

Scarica la versione di prova gratuita e fai la tua prima chiamata HTTP/2 o gRPC da Delphi o C++ Builder.