Client Socket.IO

Connettiti a server Socket.IO da Delphi/C++Builder. Parla il trasporto Engine.IO e il livello di eventi/namespace di Socket.IO con ACK e rooms.

TsgcWSAPI_SocketIO

Client per il protocollo Socket.IO v3/v4 — trasporto Engine.IO, namespace, emit/receive di eventi, callback ACK e allegati binari.

Classe del componente

TsgcWSAPI_SocketIO

Piattaforme

Windows, macOS, Linux, iOS, Android

Edizione

Standard / Professional / Enterprise

Inserisci, connetti, emetti, ascolta

Abbinalo a TsgcWebSocketClient puntato a /socket.io/ con EIO=4&transport=websocket — il componente gestisce l'handshake Engine.IO e ti permette di emettere e sottoscrivere eventi.

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

Cosa contiene

Implementa sia il livello di trasporto Engine.IO (ping/pong, upgrade) sia il livello di messaggi Socket.IO (CONNECT, EVENT, ACK, DISCONNECT) su un unico TsgcWebSocketClient.

Trasporto Engine.IO

Gestisce l'handshake EIO=4, la cadenza ping/pong di 25 secondi e il percorso di upgrade del protocollo. Il componente negozia automaticamente la codifica del payload (testo o binario).

Namespace

Connect(namespace) apre namespace aggiuntivi sullo stesso trasporto. Emit(namespace, event, args) mira al namespace scelto; OnSocketIOEvent riporta il namespace di origine per ogni evento.

ACK degli eventi

Passa una callback a Emit con un identificatore ACK — quando il server risponde, il componente scatena OnSocketIOAck con l'id corrispondente e gli argomenti JSON.

Allegati binari

Socket.IO v4 supporta payload binari interleaved. Il componente preserva i placeholder ed espone ogni allegato come stream insieme alla busta JSON.

Riconnessione

Collega il WatchDog del TsgcWebSocketClient sottostante per riconnessioni automatiche — alla riapertura il componente reinvia i pacchetti CONNECT per ogni namespace attivo.

Rooms (lato server)

Le rooms di Socket.IO sono un concetto del server; il componente partecipa emettendo eventi join / leave secondo il contratto delle rooms che il tuo server definisce.

Specifiche e riferimenti

Fonti autorevoli per il protocollo che questo componente implementa.

Documentazione e demo

Collegamenti diretti al riferimento del componente, progetto demo pronto all'uso e download della versione di prova.

Guida online — API_SocketIO Riferimento completo di proprietà, metodi ed eventi di questo componente.
Versione di prova — sgcWebSockets Scarica il pacchetto di prova e connettiti a server Socket.IO da Delphi.
Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi e C++ Builder e riferimenti alle fonti primarie — solo questo componente.
Manuale utente (PDF) Manuale completo che copre ogni componente della libreria.

Pronto a comunicare con un server Socket.IO?

Scarica la versione di prova gratuita e integra Socket.IO nelle tue applicazioni Delphi.