Socket.IO Client

Verbinde dich aus Delphi/C++Builder mit Socket.IO-Servern. Beherrscht den Engine.IO-Transport sowie die Socket.IO-Event-/Namespace-Schicht mit ACKs und Rooms.

TsgcWSAPI_SocketIO

Client für das Socket.IO v3/v4-Protokoll — Engine.IO-Transport, Namespaces, Event Emit/Receive, ACK-Callbacks und binäre Attachments.

Komponentenklasse

TsgcWSAPI_SocketIO

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Standard / Professional / Enterprise

Platzieren, verbinden, emitten, lauschen

Kombiniere die Komponente mit einem TsgcWebSocketClient, der auf /socket.io/ mit EIO=4&transport=websocket zielt — die Komponente erledigt den Engine.IO-Handshake und ermöglicht das Emit/Subscribe von Events.

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

Was drinsteckt

Implementiert sowohl die Engine.IO-Transportschicht (Ping/Pong, Upgrade) als auch die Socket.IO-Nachrichtenschicht (CONNECT, EVENT, ACK, DISCONNECT) über einen einzigen TsgcWebSocketClient.

Engine.IO-Transport

Erledigt den EIO=4-Handshake, das 25-Sekunden-Ping/Pong-Intervall und den Protokoll-Upgrade-Pfad. Die Komponente handelt die Payload-Kodierung (Text oder Binär) automatisch aus.

Namespaces

Connect(namespace) öffnet weitere Namespaces über denselben Transport. Emit(namespace, event, args) zielt auf den gewählten Namespace; OnSocketIOEvent meldet den ursprünglichen Namespace pro Event.

Event-ACKs

Übergib Emit einen Callback mit einer ACK-Kennung — wenn der Server antwortet, löst die Komponente OnSocketIOAck mit der passenden ID und den JSON-Argumenten aus.

Binäre Attachments

Socket.IO v4 unterstützt interleaved binäre Payloads. Die Komponente bewahrt die Platzhalter und stellt jedes Attachment als Stream neben dem JSON-Envelope bereit.

Wiederverbindung

Binde den WatchDog des darunterliegenden TsgcWebSocketClient für automatisches Wiederverbinden — nach dem Wiederöffnen sendet die Komponente die CONNECT-Pakete für jeden aktiven Namespace erneut.

Rooms (serverseitig)

Socket.IO-Rooms sind ein Server-Konzept; die Komponente beteiligt sich, indem sie join/leave-Events nach dem von deinem Server definierten Room-Vertrag emittiert.

Spezifikationen & Referenzen

Autoritative Quellen für das Protokoll, das diese Komponente implementiert.

Dokumentation & Demos

Direktlink zur Komponentenreferenz, hol dir das einsatzbereite Demo-Projekt und lade die Testversion herunter.

Online-Hilfe — API_SocketIO Vollständige Referenz zu Eigenschaften, Methoden und Ereignissen dieser Komponente.
Kostenlose Testversion — sgcWebSockets Lade das Trial-Paket herunter und verbinde dich aus Delphi mit Socket.IO-Servern.
Technisches Dokument (PDF) Funktionen, Schnellstart, Codebeispiele für Delphi & C++ Builder und Primärquellen-Referenzen — nur für diese Komponente.
Benutzerhandbuch (PDF) Umfassendes Handbuch zu jeder Komponente der Bibliothek.

Bereit, mit einem Socket.IO-Server zu sprechen?

Lade die kostenlose Testversion herunter und integriere Socket.IO in deine Delphi-Anwendungen.