Klient WebSocket dla Delphi
TsgcWebSocketClient: kompletny komponent klienta WebSocket dla Delphi i C++ Builder z SSL/TLS, obsługą proxy, kompresją wiadomości i automatycznym ponownym łączeniem.
TsgcWebSocketClient: kompletny komponent klienta WebSocket dla Delphi i C++ Builder z SSL/TLS, obsługą proxy, kompresją wiadomości i automatycznym ponownym łączeniem.
Komponent klienta WebSocket łączy się z dowolnym serwerem WebSocket zgodnym z RFC 6455 i wymienia wiadomości tekstowe i binarne.
TsgcWebSocketClient
WebSocket — RFC 6455
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
Ustaw Host, Port i TLS, obsłuż OnMessage, a następnie aktywuj połączenie. Handshake, ramkowanie i ping/pong są obsługiwane za ciebie.
uses
sgcWebSocket_Client, sgcWebSocket_Classes;
var
oClient: TsgcWebSocketClient;
begin
oClient := TsgcWebSocketClient.Create(nil);
oClient.Host := '127.0.0.1';
oClient.Port := 80;
oClient.TLS := True;
oClient.Options.Parameters := '/ws/';
oClient.OnConnect := OnConnect;
oClient.OnMessage := OnMessage;
oClient.OnDisconnect := OnDisconnect;
oClient.Active := True;
end;
procedure TForm1.OnMessage(Connection: TsgcWSConnection;
const Text: string);
begin
Memo1.Lines.Add(Text);
end;
// Send a text frame
oClient.WriteData('hello');
// uses: sgcWebSocket_Client, sgcWebSocket_Classes
TsgcWebSocketClient *oClient = new TsgcWebSocketClient(this);
oClient->Host = "127.0.0.1";
oClient->Port = 80;
oClient->TLS = true;
oClient->Options->Parameters = "/ws/";
oClient->OnConnect = OnConnect;
oClient->OnMessage = OnMessage;
oClient->OnDisconnect = OnDisconnect;
oClient->Active = true;
void __fastcall TForm1::OnMessage(TsgcWSConnection *Connection,
const UnicodeString Text)
{
Memo1->Lines->Add(Text);
}
// Send a text frame
oClient->WriteData("hello");
using esegece.sgcWebSockets;
var client = new TsgcWebSocketClient();
client.Host = "127.0.0.1";
client.Port = 80;
client.TLS = true;
client.Options.Parameters = "/ws/";
client.OnConnect += (conn) => Console.WriteLine("#connected: " + conn.IP);
client.OnDisconnect += (conn, code) => Console.WriteLine("#disconnected: " + code);
client.OnMessage += (conn, text) => Console.WriteLine(text);
client.Active = true;
// Send a text frame
client.WriteData("hello");
Opublikowane właściwości: 23, metody: 22, zdarzenia: 16, pobrane z dokumentacji komponentu.
Host, Port, URL, TLS, IPVersion i Active otwierają synchroniczne lub asynchroniczne połączenie. Connect/Disconnect blokują wywołującego, Start/Stop działają w wątku roboczym.
HeartBeat wysyła ramki ping WebSocket według timera, a WatchDog automatycznie łączy się ponownie po nieoczekiwanym zerwaniu. OnBeforeHeartBeat i OnBeforeWatchDog pozwalają dostosować każdy cykl.
TLSOptions wybiera IOHandler (OpenSSL lub SChannel), wersję TLS (1.0–1.3) i ALPN, Proxy kieruje handshake przez HTTP lub SOCKS, a Authentication obsługuje schematy Basic / Bearer / własne.
WriteData wysyła ramkę tekstową z opcjonalną fragmentacją, WriteAndWaitData blokuje do momentu odpowiedzi drugiej strony, a Ping wysyła ramkę ping. OnMessage, OnBinary i OnFragmented dostarczają dane przychodzące.
Extensions.PerMessage_Deflate negocjuje kompresję RFC 7692, Throttle ogranicza liczbę bitów na sekundę w obu kierunkach, a QueueOptions serializuje zapisy Text / Binary / Ping w wątku połączenia.
LogFile zapisuje na dysku surowy ruch przychodzący i wychodzący, NotifyEvents wybiera sposób przekazywania zdarzeń do głównego wątku, a OnException, OnError i OnHandshake ujawniają szczegóły na poziomie protokołu.
Alternatywny klient tylko dla Windows, który obsługuje połączenie WebSocket przez systemowy stos WinHTTP zamiast gniazd Indy — to samo API WebSocket, bez zależności od bibliotek zewnętrznych do wdrożenia.
TsgcWSClient_WinHTTP — to samo API komunikatów, zdarzenia i sterowanie połączeniem co TsgcWebSocketClient, dzięki czemu Twój kod pozostaje znajomy.
Wykorzystuje natywne API Windows WinHTTP do uzgadniania połączenia (handshake) i ramkowania, więc nie ma dodatkowych bibliotek gniazd do dostarczenia wraz z aplikacją.
Bezpieczne połączenia są obsługiwane przez Windows SChannel, więc TLS działa od razu bez dołączania bibliotek DLL OpenSSL.
Respektuje konfigurację systemowego serwera proxy Windows i integruje schematy uwierzytelniania Windows (Basic, NTLM, Negotiate).
Wybierz TsgcWSClient_WinHTTP, gdy potrzebujesz czystego wdrożenia w systemie Windows, które opiera się na systemowym stosie HTTP i TLS. Dla celów wieloplatformowych (macOS, Linux, iOS, Android) użyj standardowego TsgcWebSocketClient powyżej.
Bezpośredni link do dokumentacji komponentu, gotowy do uruchomienia projekt demo i pobieranie wersji próbnej.
| Pomoc online — TsgcWebSocketClient Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu. | Otwórz | |
| Projekt demonstracyjny — 01.WebSocket\01.Client Gotowy do uruchomienia projekt przykładowy. Dostarczany w pakiecie sgcWebSockets — pobierz wersję próbną poniżej. | Otwórz | |
| Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi, C++ Builder i .NET oraz źródła pierwotne, wyłącznie dla tego komponentu. | Otwórz | |
| Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki. | Otwórz |