Delphi WebSocket İstemcisi
TsgcWebSocketClient — SSL/TLS, proxy desteği, mesaj sıkıştırma ve otomatik yeniden bağlanma içeren, Delphi ve C++ Builder için tam özellikli bir WebSocket istemci bileşeni.
TsgcWebSocketClient — SSL/TLS, proxy desteği, mesaj sıkıştırma ve otomatik yeniden bağlanma içeren, Delphi ve C++ Builder için tam özellikli bir WebSocket istemci bileşeni.
İstemci WebSocket bileşeni. Herhangi bir RFC 6455 WebSocket sunucusuna bağlanır ve metin ile ikili mesajlar alışverişinde bulunur.
TsgcWebSocketClient
WebSocket — RFC 6455
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
Host, Port ve TLS ayarlayın, OnMessage olayını ele alın, ardından bağlantıyı etkinleştirin. El sıkışma, çerçeveleme ve ping/pong sizin yerinize yönetilir.
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");
23 yayımlanmış özellik, 22 metot ve 16 olay. Doğrudan bileşen referansından alınmıştır.
Host, Port, URL, TLS, IPVersion ve Active senkron veya asenkron bir bağlantı açar. Connect/Disconnect çağıranı bloke eder, Start/Stop bir çalışan iş parçacığında çalışır.
HeartBeat, bir zamanlayıcı üzerinden WebSocket ping çerçeveleri gönderir; WatchDog, beklenmedik bir kopmadan sonra otomatik olarak yeniden bağlanır. OnBeforeHeartBeat ve OnBeforeWatchDog her döngüyü özelleştirmenize olanak tanır.
TLSOptions, IOHandler'ı (OpenSSL veya SChannel), TLS sürümünü (1.0–1.3) ve ALPN'yi seçer; Proxy, el sıkışmayı HTTP veya SOCKS üzerinden yönlendirir; Authentication, Basic / Bearer / özel şemaları ele alır.
WriteData, isteğe bağlı parçalama ile bir metin çerçevesi gönderir; WriteAndWaitData, eş yanıt verene kadar bloke eder; Ping, bir ping çerçevesi gönderir. OnMessage, OnBinary ve OnFragmented gelen verileri sunar.
Extensions.PerMessage_Deflate, RFC 7692 sıkıştırması üzerinde anlaşır; Throttle, her iki yönde de saniye başına bit sayısını sınırlar; QueueOptions, bağlantı iş parçacığındaki Text / Binary / Ping yazmalarını sıralar.
LogFile, ham gelen ve giden trafiği diske döker; NotifyEvents, olayların ana iş parçacığına nasıl gönderileceğini seçer; OnException, OnError ve OnHandshake protokol düzeyinde ayrıntıları ortaya çıkarır.
WebSocket bağlantısını Indy soketleri yerine işletim sisteminin WinHTTP yığını üzerinden çalıştıran, yalnızca Windows'a özel alternatif bir istemci — aynı WebSocket API'si, dağıtılacak üçüncü taraf bağımlılığı yok.
TsgcWSClient_WinHTTP — TsgcWebSocketClient ile aynı mesajlaşma API'si, olayları ve bağlantı kontrolü, böylece kodunuz tanıdık kalır.
El sıkışma ve çerçeveleme için yerli Windows WinHTTP API'sini kullanır, böylece uygulamanızla birlikte gönderilecek ek soket kütüphanesi olmaz.
Güvenli bağlantılar Windows SChannel tarafından ele alınır, böylece TLS, OpenSSL DLL'leri paketlemeden kutudan çıktığı gibi çalışır.
Windows sistem proxy yapılandırmasına uyar ve Windows kimlik doğrulama şemalarını (Basic, NTLM, Negotiate) entegre eder.
İşletim sisteminin HTTP ve TLS yığınına dayanan saf bir Windows dağıtımı istediğinizde TsgcWSClient_WinHTTP'yi seçin. Platformlar arası hedefler (macOS, Linux, iOS, Android) için yukarıdaki standart TsgcWebSocketClient'i kullanın.
Bileşen referansına doğrudan bağlanın, çalışmaya hazır demo projesini alın ve denemeyi indirin.
| Çevrimiçi Yardım — TsgcWebSocketClient Bu bileşen için tam özellik, metot ve olay referansı. | Aç | |
| Demo Projesi — 01.WebSocket\01.Client Çalışmaya hazır örnek proje. sgcWebSockets paketinin içinde gelir. Aşağıdan denemeyi indirin. | Aç | |
| Teknik Belge (PDF) Özellikler, hızlı başlangıç, Delphi, C++ Builder ve .NET için kod örnekleri ve birincil kaynak referansları. Yalnızca bu bileşen. | Aç | |
| Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz. | Aç |