sgcHTTPHTTP sunucusu, HTTP/2ve gRPC, Delphi'de yerel.Google Cloud da dahil.
Bir HTTP sunucusu ve beş istemci bileşeni. TsgcHTTPServer, HTTP uç noktalarını ve statik dosyaları kendi uygulamanızdan yayımlar. TsgcHTTP2Client, tek bir TLS bağlantısı üzerinde çoğullanmış akışlarla ve HPACK başlık sıkıştırmasıyla HTTP/2 konuşur. TsgcGRPCClient, onun üzerine kurulu bir gRPC istemcisidir ve unary ile akış tabanlı Protocol Buffers çağrıları içindir. Üç sınıf daha Google Cloud'a düz HTTPS üzerinden ulaşır: Pub/Sub, Calendar ve Firebase Cloud Messaging.
sgcHTTP hızlı başlangıç | Delphi'den HTTP/2 ve gRPC
Üstte gRPC
HTTP sunucusu
TsgcHTTPServer
HTTP/2
h2 + HPACK
gRPC
Protocol Buffers
Google Cloud
HTTPS + JWT
3Palet bileşeni: HTTP sunucusu, HTTP/2 istemcisi ve gRPC istemcisi
5Toplam istemci sınıfı
3Google Cloud hizmeti: Pub/Sub, Calendar ve FCM
1Bağımsız kurulum paketi, Core çalışma zamanı pakete dahil
100%Her lisansla birlikte gelen kaynak kodu
Çalışırken izleyin
sgcHTTP'yi iki dakikada görün.
Seslendirmeli ve altyazılı bir hızlı başlangıç: tek bir bağlantı üzerinden çok sayıda istek gönderen bir HTTP/2 istemcisi, ardından aynı taşıma üzerinde giden bir gRPC çağrısı, hepsi Delphi ile. Oynat düğmesine basana kadar hiçbir şey indirilmez.
sgcHTTP hızlı başlangıç
Delphi'den bir HTTP/2 uç noktasını çağırın ve bir gRPC çağrısı yapın.
HTTP/2 istemcisini oluşturunBir TsgcHTTP2Client oluşturun, OnHTTP2Response olayını işleyin ve Get çağırın. h2 protokolü, TLS el sıkışması sırasında ALPN ile müzakere edilir.
Çok istek, tek bağlantıİstekler tek bir TCP bağlantısını bağımsız akışlar olarak paylaşır, bu yüzden yavaş bir yanıt arkasındaki diğerlerini engellemez.
Aynı taşıma üzerinde gRPCHTTP/2 istemcisini gRPC istemcisine atayın ve bir yöntemi hizmet ve adıyla çağırın. Mesajlar uzunluk önekli Protocol Buffers olarak taşınır.
Dört RPC deseniUnary, sunucu akışı, istemci akışı ve çift yönlü akış; her birinin TsgcGRPCClient üzerinde kendi yöntemi vardır.
İki palet bileşeni
Bir HTTP/2 istemcisi ve üzerinde çalışan gRPC.
Her iki bileşen de sgcHTTP biriminde bildirilir ve TsgcGRPCClient, kendi HTTP/2 bağlantısını Client özelliği üzerinden taşır.
Tek bir TLS bağlantısı üzerinden çoğullanmış akışlar
TsgcHTTP2Client, HTTP/2 (RFC 9113) konuşur: birden çok istek, tek bir TCP bağlantısını bağımsız akışlar olarak paylaşır. Başlıklar HPACK ile sıkıştırılır ve h2, TLS el sıkışması sırasında ALPN ile müzakere edilir. Tüm fiiller kapsanır: Get, Post, Put, Patch, Delete ve Options; her birinin eşzamanlı bir çağrısı ve bir Async eşi vardır.
HTTP/2 istemcisi üzerinde unary ve akış tabanlı RPC
TsgcGRPCClient, çoğullanmış bağlantıyı devralır ve üzerine gRPC tel biçimini ekler. Call ve CallAsync unary RPC'leri kapsar, ServerStreamingCall tek bir isteğe verilen yanıt akışını işler, OpenClientStream ve OpenBidiStream ise istemci akışını ve çift yönlü akışı kapsar. RetryPolicy, Interceptors ve ServiceConfig, çağrı noktalarına dokunmadan yeniden deneme davranışı ve çapraz kesen mantık ekler.
Bir sunucu, beş istemci sınıfı
Beş değil, iki bağımlılık.
Beş sınıf, altta neye ihtiyaç duyduklarına göre net biçimde ayrılır. HTTP/2 ve gRPC, ALPN gerektirir, bu da sgcCustomIndy demektir. Google Cloud, HTTPS ve bir servis hesabından başka bir şey gerektirmez; bunu da pakete dahil Core çalışma zamanı zaten sağlar. HTTP sunucusu da bu çalışma zamanının kendisinden gelir.
HTTP sunucusu
TsgcHTTPServer, HTTP uç noktalarını kendi uygulamanızdan yayımlar. Port'u ayarlayın, OnCommandGet'i işleyin, Active'i ayarlayın; her istek kodunuza ulaşır. OnCommandOther, PUT ve DELETE gibi fiilleri kapsar. Pakete dahil Core çalışma zamanıyla birlikte gelir.
Statik dosyalar ve yüklemeler
DocumentRoot'u bir klasöre yönlendirin; sunucu statik dosyaları oradan döndürür. HTTPUploadFiles yüklenen dosyaları diske kaydeder, MaxRequestBodySize istek gövdelerini sınırlar, HTTPCompression ve KeepAlive ise yanıtları küçük, bağlantıları açık tutar.
Üretime hazır
SSL ve SSLOptions TLS'i etkinleştirir, Authentication ve OnAuthentication uç noktaları korur, SessionState oturumları izler, ThreadPool ve MaxConnections ise ölçeklenmeyi denetler. WebSocket sunucusuyla aynı motor, WebSocket kısmı olmadan.
HTTP/2
TsgcHTTP2Client, bağımsız akışları tek bir TLS bağlantısı üzerinde çoğullar, başlıkları HPACK ile sıkıştırır ve h2'yi ALPN ile müzakere eder. Connect, Get, Post, Put, Patch, Delete ve Options, eşzamanlı veya Async.
gRPC
TsgcGRPCClient, HTTP/2 istemcisi üzerinde çalışır: HTTP/2 akışları üzerinden uzunluk önekli Protocol Buffers mesajları; unary, sunucu akışı, istemci akışı ve çift yönlü RPC'ler, ayrıca yeniden deneme ilkesi ve interceptor'lar.
Google Cloud, düz HTTPS
TsgcHTTPGoogleCloud_PubSub_Client, TsgcHTTPGoogleCloud_Calendar_Client ve TsgcHTTPGoogleCloud_FCM_Client, bir Google servis hesabıyla kimlik doğrulayarak Pub/Sub, Calendar ve Firebase Cloud Messaging'e ulaşır. Hiçbiri sgcCustomIndy gerektirmez.
Sunucu push ve parçalı gövdeler
Olaylar bağlantı yaşam döngüsünü açığa çıkarır: OnHTTP2Connect, OnHTTP2Response, parçalı gövdeler için OnHTTP2ResponseFragment, sunucu push için OnHTTP2PushPromise, OnHTTP2GoAway ve OnHTTP2Disconnect. Akış yaşam döngüsüyle ilgili hiçbir şey sizden gizlenmez.
İkisi için bir bağımlılık, üçü için sıfır
HTTP/2 ve gRPC istemcileri, sgcWebSockets ile aynı platform aralığını kapsayan sgcCustomIndy üzerine kuruludur. Google Cloud istemcileri düz HTTPS olduğundan Core çalışma zamanının çalıştığı her yerde çalışır. Delphi 7'den RAD Studio 13'e ve C++ Builder.
Tam kaynak kodu kutuda
Her lisans, HTTP sunucusunun, beş istemcinin ve pakete dahil çalışma zamanının tam kaynağını içerir, böylece tel düzeyindeki uygulamalar kendi hata ayıklayıcınızda adım adım izlenebilir. Dağıtım telifsizdir.
Bileşeni oluşturun, bir port ayarlayın ya da bir ana bilgisayara yönlendirin, olayı bağlayın ve çalıştırın. Aynı kod Delphi 7'den 13'e ve C++ Builder'da derlenir.
İstemciyi oluşturunİstemciler sgcHTTP biriminde, sunucu ise sgcHTTP_Server biriminde bulunur. TsgcGRPCClient, kendi HTTP/2 bağlantısını Client özelliği üzerinden taşır.
Bir ana bilgisayara yönlendirinBir https:// ana bilgisayarı yeterlidir. ALPN, TLS el sıkışması sırasında h2'yi müzakere eder ve HPACK başlıkları sıkıştırır.
Yanıt olayını bağlayınOnHTTP2Response ve OnGRPCResponse, çözülmüş gövdeyi istek ve bağlantıyla birlikte size teslim eder.
Eşzamanlı ya da değil, gönderinHer fiilin ve her RPC'nin engelleyen bir çağrısı ve bir Async eşi vardır, böylece arayüz iş parçacığı serbest kalır.
sgcHTTP'nin sizden ne istediği ve ne istemediği. İki yanıt da kısadır ve ikisi de küçük harflerle yazılmış notlarda değil, bu sayfadadır.
İstemci başına bağımlılıklar
istemci sgcCustomIndy gerekirTsgcHTTPServerhayır, Core çalışma zamanıyla gelirTsgcHTTP2Clientevet, ALPN içinTsgcGRPCClientevet, TsgcHTTP2Client üzerinde çalışırTsgcHTTPGoogleCloud_PubSub_Clienthayır, düz HTTPSTsgcHTTPGoogleCloud_Calendar_Clienthayır, düz HTTPSTsgcHTTPGoogleCloud_FCM_Clienthayır, düz HTTPSHTTP/2, h2'yi TLS el sıkışması sırasında ALPN ile müzakere eder.
RAD Studio ile gelen standart Indy kitaplığı ALPN
desteğine sahip değildir, bu yüzden HTTP/2 ve gRPC
bunun yerine sgcCustomIndy üzerine kurulmuştur.
sgcHTTP bağımsızdır
sgcWebSockets Core çalışma zamanı dahildir: HTTP sunucusu, her istemcinin isteklerini gönderdiği HTTP/TLS istemci yığını ve Google Cloud yanıtlarını çözen JSON katmanı. Tek kurulum paketi, kutuda tam kaynak kodu.
HTTP/2 ve gRPC, sgcCustomIndy gerektirir
ALPN müzakeresi standart Indy kitaplığı tarafından desteklenmez, bu yüzden TsgcHTTP2Client ve onun üzerinden TsgcGRPCClient, bunun yerine sgcCustomIndy üzerine kuruludur. sgcHTTP sipariş ettiğinizde her zaman dahildir ve gösterilen fiyat bunu zaten kapsar.
Google Cloud yalnızca HTTPS gerektirir
Üç Google Cloud istemcisi, bir Google servis hesabının proje kimliği, istemci e-postası ve özel anahtarıyla kimlik doğrular ve REST API'lerini Core çalışma zamanının düz HTTPS yığını üzerinden çağırır. Yerel kitaplık yok, sgcCustomIndy yok.
Delphi ve C++ Builder
sgcHTTP, Delphi 7'den RAD Studio 13'e ve C++ Builder'ı hedefler. Aynı bileşenler sgcWebSockets Enterprise içinde de yer alır, bu yüzden mevcut bir Enterprise veya All-Access lisansı sizi zaten kapsıyor olabilir. Deneme kurulum paketi sgcWebSockets All-Access denemesidir, bu yüzden HTTP sunucusu ve beş istemcinin tamamı bugün değerlendirilebilir.
ALPN
HPACK
Protocol Buffers
Servis hesabı JWT
Tam kaynak
sgcHTTP, bir üretici SDK'sını sarmalamak yerine yayımlanmış HTTP/2, gRPC ve Google Cloud REST yüzeylerini uygular; bu yüzden akışlar, başlıklar, RPC'ler ve push bildirimleri birinci sınıf yöntemler ve olaylardır, tam kaynak kodu ise aradaki hiçbir şeyin kara kutu olmadığı anlamına gelir.
sgcWebSockets'in bir parçası
sgcWebSockets'in tek bir paketi, kendi başına lisanslanır.
sgcHTTP, üzerine kurulduğu sgcWebSockets Core çalışma zamanını pakete dahil eder ve HTTP/2 ile gRPC için gereken sgcCustomIndy eklentisi her zaman dahildir. Her lisans tam kaynak kodu ve telifsiz dağıtımla gelir.
Single
1 geliştirici lisansı. Aynı anda tek bir makinede kullanın.
€398
Team
2 geliştirici lisansı. Aynı anda iki makinede kullanın.
€648
Site
Sınırsız geliştirici. Şirketteki tüm makineler.
€1,048
Delphi ve C++ Builder için HTTP/2, gRPC ve Google Cloud istemci bileşenleri; sgcWebSockets Core çalışma zamanı pakete dahil. Zaten sgcWebSockets Enterprise kullanıyor musunuz? Aynı bileşenler orada da var.
Dünya çapında Delphi, C++ Builder, Lazarus ve .NET geliştiricilerinin güvendiği.
sgcWebSockets kütüphaneniz çok kullanışlı ve kurulumu kolay. İyi çalışmalarınızı sürdürün!
Simone MorettiDelphi Geliştiricisi
sgcWebSockets harika ve desteğiniz en iyisi!
Christian MeyerKurucu ve CTO
Yardımınız ve desteğiniz için çok teşekkürler, bileşenlerinize bayılıyorum.
Mark SteinfeldCTO
Yerel koddan modern HTTP, gRPC ve Google Cloud.
Bir HTTP sunucusu, çoğullamalı HTTP/2, akış tabanlı gRPC ve üç Google Cloud istemcisi; sgcWebSockets Core çalışma zamanı pakete dahil ve kutuda tam kaynak kodu.
sgcHTTP, Delphi, C++ Builder ve .NET için diğer eSeGeCe bileşen kitaplıklarıyla aynı kuralları paylaşır. Tam kaynak koduyla gelirler ve telifsiz dağıtılırlar.