Client Socket.IO

Connecte-toi aux serveurs Socket.IO depuis Delphi/C++Builder. Parle le transport Engine.IO plus la couche événement/namespace Socket.IO avec ACKs et rooms.

TsgcWSAPI_SocketIO

Client pour le protocole Socket.IO v3/v4 — transport Engine.IO, namespaces, émission/réception d'événements, callbacks ACK et pièces jointes binaires.

Classe du composant

TsgcWSAPI_SocketIO

Plateformes

Windows, macOS, Linux, iOS, Android

Édition

Standard / Professional / Enterprise

Pose, connecte, émets, écoute

Associe à TsgcWebSocketClient ciblant /socket.io/ avec EIO=4&transport=websocket — le composant gère le handshake Engine.IO et te permet d'émettre / d'écouter des événements.

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

Ce qu'il contient

Implémente à la fois la couche transport Engine.IO (ping/pong, upgrade) et la couche message Socket.IO (CONNECT, EVENT, ACK, DISCONNECT) sur un seul TsgcWebSocketClient.

Transport Engine.IO

Gère le handshake EIO=4, la cadence ping/pong de 25 secondes et le chemin de mise à niveau du protocole. Le composant négocie l'encodage de charge utile (texte ou binaire) automatiquement.

Namespaces

Connect(namespace) ouvre des namespaces supplémentaires sur le même transport. Emit(namespace, event, args) cible le namespace choisi ; OnSocketIOEvent rapporte le namespace d'origine par événement.

ACKs d'événements

Passe un callback à Emit avec un identifiant ACK — quand le serveur répond, le composant déclenche OnSocketIOAck avec l'id correspondant et les arguments JSON.

Pièces jointes binaires

Socket.IO v4 prend en charge les charges utiles binaires entrelacées. Le composant préserve les placeholders et expose chaque pièce jointe sous forme de flux à côté de l'enveloppe JSON.

Reconnexion

Lie le WatchDog du TsgcWebSocketClient sous-jacent pour la reconnexion automatique — à la réouverture, le composant renvoie les paquets CONNECT pour chaque namespace actif.

Rooms (côté serveur)

Les rooms Socket.IO sont un concept serveur ; le composant y participe en émettant les événements join / leave selon le contrat de room que ton serveur définit.

Spécifications et références

Sources de référence pour le protocole que ce composant implémente.

Documentation et démos

Accès direct à la référence du composant, récupère le projet de démo prêt à l'emploi et télécharge l'essai.

Aide en ligne — API_SocketIO Référence complète des propriétés, méthodes et événements de ce composant.
Essai gratuit — sgcWebSockets Télécharge le paquet d'essai et connecte-toi aux serveurs Socket.IO depuis Delphi.
Document technique (PDF) Fonctionnalités, démarrage rapide, exemples de code pour Delphi et C++ Builder et références aux sources primaires — ce composant uniquement.
Manuel utilisateur (PDF) Manuel complet couvrant tous les composants de la bibliothèque.

Prêt à parler à un serveur Socket.IO ?

Télécharge l'essai gratuit et intègre Socket.IO dans tes applications Delphi.