Socket.IO Client

Delphi/C++Builder üzerinden Socket.IO sunucularına bağlanın. Engine.IO taşımasının yanı sıra ACK'ler ve odalarla birlikte Socket.IO olay/ad alanı katmanını konuşur.

TsgcWSAPI_SocketIO

Socket.IO v3/v4 protokolü için istemci. Engine.IO taşıması, ad alanları, olay gönderme/alma, ACK geri çağrıları ve ikili ekler.

Bileşen sınıfı

TsgcWSAPI_SocketIO

Platformlar

Windows, macOS, Linux, iOS, Android

Sürüm

Standard / Professional / Enterprise

Bırak, bağlan, gönder, dinle

EIO=4&transport=websocket ile /socket.io/ hedefli TsgcWebSocketClient ile eşleştirin. Bileşen Engine.IO el sıkışmasını yönetir ve olayları Emit / Subscribe etmenize olanak tanır.

uses
  sgcWebSocket, sgcWebSocket_API_SocketIO;

var
  WSClient: TsgcWebSocketClient;
  SIO: TsgcWSAPI_SocketIO;
begin
  WSClient := TsgcWebSocketClient.Create(nil);
  WSClient.URL := 'wss://server.example.com/socket.io/?EIO=4&transport=websocket';

  SIO := TsgcWSAPI_SocketIO.Create(nil);
  SIO.Client := WSClient;

  WSClient.Active := True;

  SIO.Emit('/', 'chat:message',
    '{"user":"alice","text":"hello"}');
end;
// uses: sgcWebSocket, sgcWebSocket_API_SocketIO
TsgcWebSocketClient *WSClient = new TsgcWebSocketClient(this);
WSClient->URL = "wss://server.example.com/socket.io/?EIO=4&transport=websocket";

TsgcWSAPI_SocketIO *SIO = new TsgcWSAPI_SocketIO(this);
SIO->Client = WSClient;

WSClient->Active = true;
SIO->Emit("/", "chat:message",
  "{\"user\":\"alice\",\"text\":\"hello\"}");

İçinde neler var

Hem Engine.IO taşıma katmanını (ping/pong, yükseltme) hem de Socket.IO mesaj katmanını (CONNECT, EVENT, ACK, DISCONNECT) tek bir TsgcWebSocketClient üzerinde uygular.

Engine.IO taşıması

EIO=4 el sıkışmasını, 25 saniyelik ping/pong aralığını ve protokol yükseltme yolunu yönetir. Bileşen, yük kodlamasını (metin veya ikili) otomatik olarak belirler.

Ad alanları

Connect(namespace), aynı taşıma üzerinden ek ad alanları açar. Emit(namespace, event, args) seçilen ad alanını hedefler. OnSocketIOEvent, her olay için kaynak ad alanını bildirir.

Olay ACK'leri

Bir ACK tanımlayıcısıyla Emit çağrısına bir geri çağrı geçirin. Sunucu yanıt verdiğinde bileşen, eşleşen kimlik ve JSON argümanlarıyla OnSocketIOAck olayını tetikler.

İkili ekler

Socket.IO v4, iç içe geçmiş ikili yükleri destekler. Bileşen yer tutucuları korur ve her eki JSON zarfının yanında bir akış olarak sunar.

Yeniden bağlanma

Otomatik yeniden bağlanmak için alttaki TsgcWebSocketClient WatchDog'una bağlanın. Yeniden açılışta bileşen, her etkin ad alanı için CONNECT paketlerini yeniden gönderir.

Odalar (sunucu tarafı)

Socket.IO odaları bir sunucu kavramıdır. Bileşen, sunucunuzun tanımladığı oda sözleşmesi üzerinden join / leave olayları göndererek katılır.

Spesifikasyonlar ve referanslar

Bu bileşenin uyguladığı protokol 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 — API_SocketIO Bu bileşen için tam özellik, metot ve olay referansı.
Ücretsiz Deneme — sgcWebSockets Deneme paketini indirin ve Delphi'den Socket.IO sunucularına bağlanın.
Teknik Belge (PDF) Özellikler, hızlı başlangıç, Delphi ve C++ Builder 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.

Bir Socket.IO sunucusuyla konuşmaya hazır mısınız?

Ücretsiz denemeyi indirin ve Socket.IO'yu Delphi uygulamalarınıza entegre edin.