eSeGeCe — komponenty komunikacyjne klasy enterprise dla Delphi i .NET
WYRÓŻNIONE · sgcWebSockets

Wdróż produkcyjny serwer WebSocket w Delphi jeszcze dziś

Zgodny z RFC 6455 klient i serwer, ponad 10 000 równoczesnych połączeń, TLS 1.3, IOCP w Windows i EPOLL w Linuksie. Od Delphi 7 do RAD Studio 13, od .NET 2.0 do .NET 9, jedno API na każdej platformie docelowej.

  • Zgodny z RFC 6455
  • TLS 1.2 i 1.3
  • IOCP · EPOLL
  • Pełne źródła, bez opłat licencyjnych
EchoServer.pas
// uses sgcWebSocket, sgcWebSocket_Classes; WSServer := TsgcWebSocketServer.Create(Self); WSServer.Port := 5000; WSServer.OnMessage := WSServerMessage; WSServer.Active := True; procedure TForm1.WSServerMessage( Connection: TsgcWSConnection; const Text: string); begin Connection.WriteData('echo: ' + Text); end;

Jedna ramka na wejściu, jeden broadcast do każdego klienta na kanale.

10,000+ Równoczesnych połączeń Pule wątków IOCP w Windows, EPOLL w Linuksie, jeden proces serwera.
< 1 ms Opóźnienie ramki Ramkowanie zero-copy na localhost, z per-message deflate gotowym od razu po instalacji.
761+ Komponenty Klienci, serwery, obsługa protokołów i wrappery API w jednym drzewie źródeł.
30+ Integracje API Giełdy krypto, usługi chmurowe, platformy komunikacyjne i dostawcy AI.

sgcWebSockets Wyróżnione
WebSocket, HTTP/2, HTTP/3, MQTT, AMQP, STOMP, WAMP, SSE, WebRTC i AI, dla Delphi, C++Builder, Lazarus i .NET.

Poznaj bibliotekę Zobacz cennik

Połącz, subskrybuj, rozgłaszaj

To samo zadanie pub/sub napisane z tymi samymi nazwami komponentów w Delphi, C++Builder i C#. Naucz się API raz i używaj go na każdej platformie, na którą wydajesz swoje aplikacje.

uses
  sgcWebSocket, sgcWebSocket_Classes,
  sgcWebSocket_Protocol_sgc_Client;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FClient := TsgcWebSocketClient.Create(Self);
  FClient.Host := 'www.esegece.com';
  FClient.Port := 2053;
  FClient.TLS := True;
  FClient.OnConnect := ClientConnect;

  FProtocol := TsgcWSPClient_sgc.Create(Self);
  FProtocol.Client := FClient;
  FProtocol.OnMessage := ProtocolMessage;

  FClient.Active := True;
end;

procedure TForm1.ClientConnect(Connection: TsgcWSConnection);
begin
  FProtocol.Subscribe('orders');
  FProtocol.Broadcast('{"id":42,"status":"filled"}', 'orders');
end;

procedure TForm1.ProtocolMessage(Connection: TsgcWSConnection;
  const Text: string);
begin
  Memo1.Lines.Add(Text);
end;
// uses: sgcWebSocket, sgcWebSocket_Classes,
//       sgcWebSocket_Protocol_sgc_Client

FClient = new TsgcWebSocketClient(this);
FClient->Host = "www.esegece.com";
FClient->Port = 2053;
FClient->TLS  = true;
FClient->OnConnect = ClientConnect;

FProtocol = new TsgcWSPClient_sgc(this);
FProtocol->Client = FClient;
FProtocol->OnMessage = ProtocolMessage;

FClient->Active = true;

void __fastcall TForm1::ClientConnect(TsgcWSConnection *Connection)
{
  FProtocol->Subscribe("orders");
  FProtocol->Broadcast("{\"id\":42,\"status\":\"filled\"}", "orders");
}

void __fastcall TForm1::ProtocolMessage(TsgcWSConnection *Connection,
    const UnicodeString Text)
{
  Memo1->Lines->Add(Text);
}
using esegece.sgcWebSockets;

var client = new TsgcWebSocketClient();
client.Host = "www.esegece.com";
client.Port = 2053;
client.TLS  = true;

var protocol = new TsgcWSPClient_sgc();
protocol.Client = client;
protocol.OnMessage += (conn, text) => Console.WriteLine(text);

client.OnConnect += (conn) =>
{
    protocol.Subscribe("orders");
    protocol.Broadcast("{\"id\":42,\"status\":\"filled\"}", "orders");
};

client.Active = true;

Strona serwera jest lustrzanym odbiciem. TsgcWebSocketServer.Broadcast(Text, 'orders') rozsyła ten sam ładunek do każdego subskrybenta kanału.

Każdy protokół wire, którym już mówi twój stos

Natywne implementacje klienta i serwera, a nie cienkie wrappery na silniku przeglądarki. Łącz protokoły w jednej aplikacji i współdziel jedną pulę połączeń.

WebSocket · RFC 6455 HTTP/2 HTTP/3 · QUIC MQTT 3.1.1 & 5.0 AMQP 0.9.1 & 1.0 STOMP WAMP v2 SSE WebRTC CoAP

Ekosystemy, do których się podłącza

Gotowe klienty i adaptery dla brokerów, hubów i usług, które już działają w infrastrukturze twojego zespołu.

Socket.IO v4 SignalR Core Pusher Channels RabbitMQ HiveMQ Mosquitto EMQX AWS IoT Core Azure IoT Hub ActiveMQ IBM MQ

Pełna dokumentacja protokołów: protokoły sgcWebSockets.

Dlaczego wytrzymuje pod obciążeniem

Długotrwałe połączenia, szyfrowane domyślnie, samonaprawiające się pod presją. Elementy, które decydują o tym, czy twój serwer przetrwa poniedziałkowy poranek.

Wielowątkowy serwer IOCP i EPOLL

Serwer przyjmuje połączenia na portach zakończenia we/wy w Windows i na epoll w Linuksie, rozdzielając pracę na pulę wątków zamiast jednego wątku na gniazdo. To właśnie dzięki temu ponad 10 000 aktywnych połączeń w jednym procesie nie zapada się w przełączanie kontekstu.

Komponenty skalowania →

TLS 1.2 i 1.3, OpenSSL 3 lub SChannel

Wybierz backend TLS pasujący do twojego wdrożenia. OpenSSL 3 zapewnia to samo zachowanie w Windows, Linuksie, macOS, iOS i Android. Natywny SChannel korzysta z magazynu certyfikatów Windows, więc nie musisz dostarczać ani łatać żadnych bibliotek DLL OpenSSL.

TLS i certyfikaty →

Automatyczne ponowne łączenie WatchDog i HeartBeat

HeartBeat wysyła okresowe ramki ping, dzięki czemu martwe połączenia są wykrywane, a nie utrzymywane w nieskończoność. WatchDog automatycznie łączy ponownie rozłączonego klienta, z konfigurowalnymi odstępami i liczbą prób, więc zakłócenie sieci nie kończy się restartem aplikacji.

Komponent klienta →

Kompresja per-message, RFC 7692

Włącz rozszerzenie permessage-deflate, a powtarzalne ładunki JSON skurczą się na łączu, negocjowane podczas handshake z każdym zgodnym peerem. Ramki binarne, fragmentacja i walidacja Unicode są w całości obsługiwane przez warstwę ramkowania.

Przegląd funkcji →

Od parkietów tradingowych po agentów AI

Każde z tych rozwiązań powstaje na tych samych komponentach klienta i serwera, które zainstalujesz w swoim IDE już dziś.

Czat w czasie rzeczywistym na dużą skalę

Trwałe połączenia, obecność, nazwane kanały i wiadomości binarne, z wielowątkowym serwerem stworzonym z myślą o tysiącach równoczesnych użytkowników.

Komunikacja w czasie rzeczywistym →

Trading algorytmiczny

Gotowe klienty strumieniowe dla 14 giełd krypto, z TLS, ramkami binarnymi i automatycznym ponownym łączeniem strumienia danych rynkowych.

API giełd →

Telemetria IoT

MQTT 3.1.1 i 5.0 z QoS 0/1/2, subskrypcjami współdzielonymi i CoAP, plus gotowe klienty dla AWS IoT Core i Azure IoT Hub.

Komponenty IoT →

Wideo WebRTC

Media peer-to-peer i kanały danych z wbudowanym STUN, TURN i ICE oraz serwerem sygnalizacyjnym, który hostujesz samodzielnie.

WebRTC i P2P →

Agenci AI (MCP)

Udostępnij własne narzędzia, prompty i zasoby ChatGPT i Claude przez Model Context Protocol, klient i serwer w komplecie.

Komponenty MCP →

Usługi HTTP/2 i HTTP/3

Serwuj HTTPS, WebSocket i HTTP/2 z tego samego portu, z multipleksowaniem, kompresją nagłówków i server push, oraz HTTP/3 przez QUIC.

Komponenty HTTP →

Sześć bibliotek, jedna subskrypcja

sgcWebSockets to flagowy produkt. Reszta pakietu obejmuje interfejs użytkownika, SDK, podpisy i gniazda pod spodem.

sgcWebSockets

WebSocket, HTTP/2, HTTP/3, MQTT, AMQP, WebRTC, AI oraz ponad 30 integracji API dla Delphi, C++Builder, Lazarus i .NET.

Dowiedz się więcej →

sgcHTML

Twórz kompletne interfejsy webowe w Delphi i .NET. Komponenty HTML po stronie serwera, aktualizacje WebSocket w czasie rzeczywistym i interaktywność htmx.

Dowiedz się więcej →

sgcOpenAPI

Parser OpenAPI 3.x, generator SDK w Pascalu i serwer OpenAPI oraz ponad 1 195 gotowych SDK dla AWS, Azure, Google Cloud i Microsoft Graph.

Dowiedz się więcej →

sgcSign

Podpisy dokumentów (XAdES, PAdES, CAdES, ASiC) i podpisywanie kodu (Authenticode, ClickOnce, NuGet, VSIX), z 10 dostawcami kluczy i 21 profilami krajowymi UE.

Dowiedz się więcej →

sgcBiometrics

Windows Hello, czytniki linii papilarnych i rozpoznawanie twarzy dla Delphi i C++Builder, oparte na Windows Biometric Framework.

Dowiedz się więcej →

sgcIndy

Ulepszony zestaw Indy TCP/IP z nowoczesnym TLS, IPv6 i rozszerzoną obsługą protokołów, od Delphi 7 do RAD Studio 13.

Dowiedz się więcej →

Co mówią programiści

Zaufali nam programiści Delphi, C++ Builder, Lazarus i .NET budujący aplikacje czasu rzeczywistego na całym świecie.

sgcWebSockets jest niesamowity, a wasze wsparcie jest najlepsze!
Christian Meyer Założyciel i CTO
Wasza biblioteka sgcWebSockets jest bardzo przydatna i łatwa w konfiguracji. Tak trzymać!
Simone Moretti Programista Delphi
Bardzo dziękuję za pomoc i wsparcie, uwielbiam wasze komponenty.
Mark Steinfeld CTO

Oglądasz widok Czas rzeczywisty eSeGeCe.

Pokaż mi inne ujęcie →
30-dniowa gwarancja zwrotu pieniędzyNie jesteś zadowolony? Poproś o pełny zwrot pieniędzy w ciągu 30 dni od zakupu. Zobacz politykę zwrotów

Czas rzeczywisty w twojej aplikacji, już dziś

Pobierz bezpłatną wersję próbną i uruchom serwer WebSocket na własnej maszynie w kilka minut. Pełne źródła, wdrożenie bez opłat licencyjnych, od Delphi 7 do RAD Studio 13 i od .NET 2.0 do .NET 9.