Delphi WebSocket Bileşeni — Üretim Düzeyinde İstemci ve Sunucu
Delphi ve C++Builder için yerel bir RFC 6455 WebSocket uygulaması. Binlerce eş zamanlı bağlantıyı tutan, Windows, macOS, Linux, iOS ve Android üzerinde çalışan ve yerleşik WatchDog otomatik yeniden bağlanma ile kararsız ağlarda ayakta kalan istemciler ve sunucular oluşturun.
WebSocket protokolünü, yerel Delphi geliştiricilerinin tanıdığı bir özellik-ve-olay API'sine dönüştüren hazır eklenti bir VCL/FMX bileşeni.
Bir Delphi WebSocket bileşeni, bir Delphi uygulaması ile herhangi bir RFC 6455 WebSocket eşi — bir tarayıcı, bir Node.js hizmeti, bir nginx ters proxy'si, bir Mosquitto aracısı, bir OpenAI Realtime uç noktası veya başka bir Delphi süreci — arasında tam çift yönlü bir TCP kanalı açmak için bir forma bıraktığınız (veya çalışma zamanında örneklediğiniz) görsel olmayan bir bileşendir. Yoklama yapan HTTP'nin aksine, bir WebSocket bağlantıyı açık tutar: sunucu, veriyi kullanılabilir olduğu anda, milisaniye gecikmeyle ve mesaj başına HTTP ek yükü olmadan iletebilir.
sgcWebSockets, 2013'ten beri Delphi ekosistemindeki referans WebSocket kütüphanesi olmuştur. Aynı TsgcWebSocketClient ve TsgcWebSocketHTTPServer bileşenleri, Delphi 7'den Delphi 13'e kadar, Win32, Win64, Linux64, macOS, iOS ve Android üzerinde ve C++Builder C2007'den C13'e kadar değişmeden çalışır. Yönetilen çalışma zamanı, .NET birlikte çalışma katmanı veya JavaScript köprüsü yoktur — ikili dosyanıza derlenen saf bir Pascal uygulamasıdır.
Neden kendinizinkini yazmak yerine sgcWebSockets'i seçmelisiniz
Tek bir PING/PONG işleyici yazmak kolaydır. TLS sonlandıran bir ters proxy, bir IIS WebSocket modülü, bir kurumsal güvenlik duvarı, bir mobil hücresel devir ve 5.000 istemcilik bir yük testinde ayakta kalmak ise değildir.
Tek API, her taşıma
Düz WebSocket (ws://), TLS WebSocket (wss://), HTTP/2 üzerinden WebSocket, QUIC/HTTP/3 üzerinden WebSocket, ham TCP yedeği — aynı bileşen, aynı olaylar. Tek bir özelliği değiştirerek taşımayı değiştirin.
WatchDog otomatik yeniden bağlanma
WatchDog etkinleştirin; istemci üstel geri çekilme ile yeniden bağlanır, yeniden kimlik doğrular, MQTT konularına yeniden abone olur ve kuyruğa alınmış yayımları yeniden oynatır — klasik mobil / IoT deseni, zaten yazılmış.
İş parçacığı çözüldü
Sunucu arka planda bir IOCP / kqueue / epoll reaktörü kullanır. Olay işleyicileri siz yazarsınız; kütüphane bunları bağlantı başına serileştirme ile bir iş parçacığı havuzu üzerinde zamanlar.
permessage-deflate
RFC 7692'ye göre otomatik olarak anlaşılır. JSON yüklerini %70–90 oranında azaltır ve her modern tarayıcı ve yük dengeleyici tarafından desteklenir.
Alt protokoller dahil
MQTT 3.1.1/5.0, AMQP 0.9.1/1.0, STOMP, WAMP ve Server-Sent Events aynı WebSocket taşıması üzerinde çalışır — bir TCP yuvası, birden çok uygulama protokolü.
HTTP sunucusu da
TsgcWebSocketHTTPServer, WebSocket uç noktanızla aynı süreçte statik dosyalar, REST uç noktaları, JWT ve OAuth2 korumalı kaynaklar, gzip ile sıkıştırılmış yanıtlar ve HTTP/2 yükseltmesi sunar.
Gerçekten çalışan TLS
OpenSSL (çok platformlu), SChannel (Windows çekirdek TLS) veya HTTP.sys. İstemci sertifikaları, SNI, ALPN, 0-RTT ile TLS 1.3.
Kanallar ve yayın
Sunucu tarafı Channels bağlantıları ada göre gruplandırır. Broadcast, BroadcastByChannel ve BroadcastByUser tek bir çağrıda binlerce eşe dağıtım yapar.
Sahada test edilmiş
2013'ten beri bankalarda, borsalarda, IoT filolarında ve ticaret şirketlerinde üretimde. Her ay güncellenir; history.txt her düzeltmeyi izler.
ÖZELLİK MATRİSİ
Özellik kontrol listesi
RFC'nin söylediği her şey, ayrıca gerçek dağıtımların ihtiyaç duyduğu operasyonel sertleştirme.
Sunucu tarafı simetriktir — bir TsgcWebSocketHTTPServer bırakın, Port ayarlayın, OnConnect ve OnMessage olaylarını işleyin, bağlı her eşe dağıtım yapmak için Broadcast çağırın.
UYUMLULUK
Desteklenen Delphi ve C++Builder sürümleri
Tek bir kaynak ağacı, 22 çalışma zamanı paketi — hâlâ aktif ticari kullanımdaki her Delphi sürümünü kapsar.
permessage-deflate'i verime karşı CPU için ayarlama.
SSS
Sıkça sorulan sorular
Hangi Delphi sürümleri desteklenir?
Delphi 7'den (2002) Delphi 13'e (2025) kadar her ticari Delphi sürümü, ayrıca eşleşen C++Builder sürümleri. Tek bir kaynak ağacından 22 ayrı çalışma zamanı paketi — her IDE için bir tane — sunuyoruz. Ayrı bir “eski” SKU yoktur; her müşteri her sürümü alır.
WebSocket bileşeni TLS / wss:// destekliyor mu?
Evet. URL := 'wss://...' ayarlayın ve bir TLS sağlayıcısı seçin: OpenSSL (çok platformlu, denemeyle birlikte gelir), SChannel (Windows çekirdek TLS, dağıtılacak DLL yok) veya HTTP.sys (sunucu tarafı, sertifika Windows sertifika deposunda saklanır). İstemci sertifikaları, SNI, ALPN, TLS 1.3 ve 0-RTT'nin tümü desteklenir.
Sunucu kaç eş zamanlı bağlantıyı işleyebilir?
Windows'ta sunucu IOCP kullanır ve sıradan donanımda süreç başına rutin olarak 50.000+ eş zamanlı bağlantıya ölçeklenir. Linux'ta epoll reaktörü benzer şekilde ölçeklenir. Kesin sınır kütüphane değil, işletim sistemi düzeyindedir (dosya tanımlayıcıları, geçici bağlantı noktası aralığı, çekirdek belleği).
Lisanslama modeli nedir?
Bir yıllık güncelleme dahil, telifsiz geliştirici başına süresiz lisans. Tek geliştirici, ekip ve site lisansları mevcuttur — fiyatlandırmaya bakın. Kaynak kodu her ticari sürümle birlikte gelir.
Delphi uygulamanıza WebSocket eklemeye hazır mısınız?
Tamamen işlevsel 30 günlük denemeyi indirin — istemci, sunucu, tüm alt protokoller, tüm Delphi sürümleri.