sgcHTTP Özellik Matrisi: HTTP/2, gRPC & Google Cloud | eSeGeCe

sgcHTTP Özellik Matrisi

sgcHTTP'nin yaptığı her şey; HTTP/2 istemcisi, gRPC istemcisi ve üç Google Cloud istemcisi üzerinden eşlenmiş. Her yetenek Delphi ve C++ Builder'da aynı şekilde çalışır ve her lisans tam kaynak koduyla gelir. Bu lansman için bileşen alt sayfaları henüz yayımlanmadı, aşağıdaki her giriş bu sayfada kendi kendine yeterlidir.

HTTP/2 İstemcisi

Çoğullanmış akışlar, HPACK, ALPN

gRPC İstemcisi

Unary & akış tabanlı RPC

Google Cloud

Pub/Sub, Calendar & FCM

Standartlar & Platformlar

Delphi 7'den 13'e, C++ Builder

sgcHTTP kendi kendine yeterlidir. sgcWebSockets Core çalışma zamanı pakete dahil olarak gelir, bu yüzden bir eklenti değildir.

HTTP/2 ve gRPC, sgcCustomIndy gerektirir. Her iki sınıf da TLS protokol müzakeresi için ALPN gerektirir; standart Indy kitaplığı bunu desteklemez, bu yüzden bunun yerine sgcCustomIndy üzerine kuruludur. Siparişinize otomatik olarak eklenir. Üç Google Cloud istemcisi düz HTTPS'tir ve buna ihtiyaç duymaz.

Beş Sınıf, Tek Birim

SGC HTTP palet sayfasında iki bileşen ve üç kod-yalnızca Google Cloud sınıfı, hepsi sgcHTTP biriminde tanımlanmıştır.

BileşenSınıfPalette mi?Açıklama
HTTP/2 İstemcisiTsgcHTTP2ClientEvetYerel HTTP/2 istemcisi: çoğullanmış akışlar, HPACK başlık sıkıştırması, ALPN müzakeresi. sgcCustomIndy'ye ihtiyaç duyar.
gRPC İstemcisiTsgcGRPCClientEvetHTTP/2 istemcisi üzerine kurulu gRPC istemcisi: unary, sunucu akışlı, istemci akışlı ve çift yönlü akışlı RPC. sgcCustomIndy'ye ihtiyaç duyar.
Google Cloud Pub/SubTsgcHTTPGoogleCloud_PubSub_ClientHayır, kod-yalnızcaGoogle Cloud Pub/Sub REST API'si: konular, abonelikler, anlık görüntüler, yayınlama ve çekme. Core üzerinde düz HTTPS.
Google Cloud CalendarTsgcHTTPGoogleCloud_Calendar_ClientHayır, kod-yalnızcaGoogle Calendar API v3: takvimler ve etkinlikler, oluşturma, güncelleme, listeleme, silme. Core üzerinde düz HTTPS.
Google Cloud FCMTsgcHTTPGoogleCloud_FCM_ClientHayır, kod-yalnızcaFirebase Cloud Messaging HTTP v1 API'si: tek bir çağrıyla bir push bildirim yükü gönderin. Core üzerinde düz HTTPS.

Çoğullanmış İstekler, HPACK, ALPN

TsgcHTTP2Client, ALPN ile müzakere edilen tek bir TLS bağlantısı üzerinden HTTP/2 (RFC 9113) konuşur; bu yüzden sgcCustomIndy üzerine kuruludur.

YetenekAPINotlar
BağlantıHost, Port, ActiveTek bir TLS bağlantısı, her çoğullanmış istek akışını taşır.
BağlanConnect, ConnectAsyncBağlantıyı açar ve aynı çağrıda isteğe bağlı bir istek gönderir.
OkuGet, GetAsyncEşzamanlı çağrı ya da yanıtın bir olayla teslim edildiği gönder-ve-unut.
YazPost, PostAsync, Put, PutAsync, Patch, PatchAsyncİstek gövdeleri akışlardır, bu yüzden yüklemelerin belleğe sığması gerekmez.
Delete & OptionsDelete, DeleteAsync, Options, OptionsAsyncHTTP fiil kümesinin geri kalanı, aynı eşzamanlı/async eşleşmesiyle.
YanıtlarOnHTTP2Responseİstek ve yanıt nesnelerini birlikte teslim eder; Response.DataString ve durum dahil.
Parçalı gövdelerOnHTTP2ResponseFragmentParçalı bir yanıtın her parçası geldiğinde, nihai OnHTTP2Response'tan önce tetiklenir.
Sunucu pushOnHTTP2PushPromiseHTTP/2 sunucu tarafından push edilen kaynakları geldikçe açığa çıkarır.
Bağlantı yaşam döngüsüOnHTTP2Connect, OnHTTP2Disconnect, OnHTTP2GoAway, OnHTTP2RSTStreamHTTP/2'nin tanımladığı bağlan, bağlantıyı kes ve akış sıfırlama sinyalleri.
AyarlarHTTP2Options, SettingsKarşı tarafa gönderilen yerel HTTP/2 SETTINGS çerçevesi değerleri.
GüvenilirlikWatchDog, HeartBeat, ThrottleOtomatik yeniden bağlanma, keep-alive ve istek kısıtlama; sgc HTTP yığınının geri kalanıyla paylaşılır.
Kimlik doğrulama & TLSAuthentication, TLSOptions, OnHTTP2AuthorizationStandart kimlik doğrulama şemaları ve TLS yapılandırması, artı özel yetkilendirme başlıkları için bir kanca.
BağımlılıksgcCustomIndyALPN, TLS el sıkışması sırasında h2 protokolünü müzakere eder; standart Indy kitaplığı bunu yapamaz.

Unary, Sunucu, İstemci ve Çift Yönlü Akış

TsgcGRPCClient, Protocol Buffers yüklerini HTTP/2 istemcisinin çoğullanmış akışları üzerinden taşır; bu yüzden dört gRPC çağrı biçiminin tümünü kapsar.

YetenekAPINotlar
TaşımaClientBir TsgcHTTP2Client örneği; gRPC istemcisi kendi bağlantısını açmak yerine bunun üzerinde ilerler.
Unary RPCCall, CallAsync, CallStringBir istek, bir yanıt. Call bloklar ve bir TsgcGRPCResponse döndürür; CallAsync bunu OnGRPCResponse üzerinden teslim eder.
Sunucu akışıServerStreamingCallBir istek, OnGRPCStreamMessage üzerinden OnGRPCStreamEnd'e kadar teslim edilen bir yanıt akışı.
İstemci akışıOpenClientStream, SendStreamMessage, CloseClientStream, CloseClientStreamAsyncBir istek akışı, akış kapandığında tek bir nihai yanıt.
Çift yönlü akışOpenBidiStream, SendBidiMessage, CloseBidiStreamHer iki taraf da aynı çağrı üzerinden bağımsız olarak akış yapar.
İptalCancelCallDevam eden bir çağrıyı akış kimliğine göre iptal eder.
YanıtlarOnGRPCResponse, OnGRPCStreamMessage, OnGRPCStreamEndTsgcGRPCResponse, StatusCode, Data/DataString, Headers ve Trailers taşır.
HatalarOnGRPCError, OnGRPCExceptiongRPC durum kodu hataları ve taşıma düzeyi istisnaları, ayrı olarak teslim edilir.
Meta veriDefaultMetadata, OnGRPCBeforeRequestÇağrı başına ve varsayılan gRPC meta veri başlıkları.
DayanıklılıkRetryPolicy, Interceptors, ServiceConfigTekil çağrı noktalarına dokunmadan yeniden deneme davranışı, çapraz kesen bir interceptor zinciri ve hizmet yapılandırması.
GözlemlenebilirlikMetricsCollectorİstemci için çağrı metriklerini toplar.
BağımlılıksgcCustomIndyÜzerine kurulu olduğu HTTP/2 istemcisinden devralınır; ALPN aynı şekilde gereklidir.

Pub/Sub, Calendar ve Push Bildirimleri

Bir Google servis hesabıyla kimlik doğrulayan ve düz HTTPS üzerinden ulaşılan üç kod-yalnızca sınıf. Hiçbiri sgcCustomIndy'ye ihtiyaç duymaz.

YetenekAPINotlar
Kimlik doğrulamaGoogleCloudOptions.JWT, OnAuthToken, OnAuthTokenErrorServis hesabı JWT'si: proje kimliği, istemci e-postası ve özel anahtar. Üç istemcide de paylaşılan şekil.
Pub/Sub: yayınlama & çekmePublish, Pull, Acknowledge, SeekTsgcHTTPGoogleCloud_PubSub_Client. Bir konuya mesaj gönderin, bir abonelikten çekin ve onaylayın.
Pub/Sub: konularCreateTopic, DeleteTopic, GetTopic, ListTopicsKonuları doğrudan koddan yönetin.
Pub/Sub: aboneliklerCreateSubscription, DeleteSubscripton, ListSubscriptions, ModifyAckDeadlineSubscriptionOnay süresi ve push yapılandırması değişiklikleri dahil, tam abonelik yaşam döngüsü.
Pub/Sub: anlık görüntülerCreateSnapshot, DeleteSnapshot, ListSnapshotsSonradan yeniden oynatmak üzere bir aboneliğin onay durumunun anlık görüntüsünü alın.
Calendar: takvimlerNewCalendar, UpdateCalendar, DeleteCalendar, LoadCalendarsTsgcHTTPGoogleCloud_Calendar_Client. Google Calendar API v3 takvim listesini sarmalar.
Calendar: etkinliklerNewEvent, UpdateEvent, DeleteEvent, LoadEventsBelirli bir takvimde etkinlik oluşturun, değiştirin ve kaldırın.
Calendar: senkronizasyonLoadCalendarsChanged, LoadEventsChanged, OnGetCalendar, OnGetCalendarEventSon senkronizasyondan bu yana değişen takvimler ve etkinlikler için artımlı senkronizasyon kancaları.
FCM: pushSendMessageTsgcHTTPGoogleCloud_FCM_Client. Tek bir çağrı, bir projeye Firebase Cloud Messaging v1 yükü gönderir.
TLS ve günlüklemeTLSOptions, LogFileÜç Google Cloud istemcisinin tümünde paylaşılır.

API'ler, Derleyiciler ve Hedefler

Hat üzerinde kamuya açık standartlar ve desteklenen her derleyicide aynı kaynak kodu.

AlanAyrıntı
HTTP/2RFC 9113, HPACK başlık sıkıştırması ve ALPN protokol müzakeresiyle.
gRPCgRPC tel protokolünü izleyerek, HTTP/2 akışları üzerinden Protocol Buffers yükleri.
Google CloudPub/Sub REST API'si, Google Calendar API v3 ve Firebase Cloud Messaging HTTP v1 API'si, hepsi bir Google servis hesabıyla kimlik doğrulanır.
PlatformlarBeş sınıfın tümü için Windows Win32, Windows Win64, Linux64, macOS, iOS ve Android.
BağımlılıkHTTP/2 ve gRPC istemcileri, ALPN için sgcCustomIndy'ye ihtiyaç duyar. Google Cloud istemcileri yalnızca pakete dahil Core çalışma zamanına ihtiyaç duyar.
DerleyicilerDelphi ve C++ Builder 7'den 13'e.
SürümlerHTTP/2 ayrıca sgcWebSockets içinde Professional sürümünden itibaren, gRPC Enterprise'dan itibaren ve Google Cloud istemcileri Standard'dan itibaren gelir.
LisanslamaBağımsız. sgcWebSockets Core çalışma zamanı pakete dahildir ve tam kaynak kodu içerilir.
En avantajlı seçenek: All-AccessTüm eSeGeCe ürünleri, Premium Destek dahil, yılda €1,059'dan itibaren.
All-Access fiyatlarına bakın

sgcHTTP ile Geliştirin

Ücretsiz deneme sürümünü indirin ve Delphi ya da C++ Builder'dan ilk HTTP/2 veya gRPC çağrınızı yapın.