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.
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.
Client für das Socket.IO v3/v4-Protokoll — Engine.IO-Transport, Namespaces, Event Emit/Receive, ACK-Callbacks und binäre Attachments.
TsgcWSAPI_SocketIO
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
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\"}");
Implementiert sowohl die Engine.IO-Transportschicht (Ping/Pong, Upgrade) als auch die Socket.IO-Nachrichtenschicht (CONNECT, EVENT, ACK, DISCONNECT) über einen einzigen TsgcWebSocketClient.
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.
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.
Ü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.
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.
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.
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.
Autoritative Quellen für das Protokoll, das diese Komponente implementiert.
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. | Öffnen | |
| Kostenlose Testversion — sgcWebSockets Lade das Trial-Paket herunter und verbinde dich aus Delphi mit Socket.IO-Servern. | Öffnen | |
| Technisches Dokument (PDF) Funktionen, Schnellstart, Codebeispiele für Delphi & C++ Builder und Primärquellen-Referenzen — nur für diese Komponente. | Öffnen | |
| Benutzerhandbuch (PDF) Umfassendes Handbuch zu jeder Komponente der Bibliothek. | Öffnen |