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

İstemci WebSocket bileşeni. Herhangi bir RFC 6455 WebSocket sunucusuna bağlanır ve metin ile ikili mesajlar alışverişinde bulunur.

Bileşen sınıfı

TsgcWebSocketClient

Protokol

WebSocket — RFC 6455

Platformlar

Windows, macOS, Linux, iOS, Android

Sürüm

Standard / Professional / Enterprise

Bileşeni bırakın, birkaç özellik ayarlayın, başlayın

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");

İçinde neler var

23 yayımlanmış özellik, 22 metot ve 16 olay. Doğrudan bileşen referansından alınmıştır.

Bağlantı kontrolü

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.

Canlı tutma ve yeniden bağlanma

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.

TLS ve proxy

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.

Mesajlaşma API'si

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.

Sıkıştırma ve hız kısıtlama

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.

Tanılama

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.

Spesifikasyonlar ve referanslar

Bu bileşenin uyguladığı protokoller için yetkili kaynaklar.

Belgeler ve Demolar

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ı.
Demo Projesi — 01.WebSocket\01.Client Çalışmaya hazır örnek proje. sgcWebSockets paketinin içinde gelir. Aşağıdan denemeyi indirin.
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.
Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz.

Başlamaya hazır mısınız?

Ücretsiz denemeyi indirin ve Delphi uygulamanıza WebSocket istemci desteği ekleyin.