Cliente Socket.IO
Conéctate a servidores Socket.IO desde Delphi/C++Builder. Habla el transporte Engine.IO más la capa de eventos/namespaces de Socket.IO con ACKs y rooms.
Conéctate a servidores Socket.IO desde Delphi/C++Builder. Habla el transporte Engine.IO más la capa de eventos/namespaces de Socket.IO con ACKs y rooms.
Cliente para el protocolo Socket.IO v3/v4 — transporte Engine.IO, namespaces, emisión/recepción de eventos, callbacks de ACK y adjuntos binarios.
TsgcWSAPI_SocketIO
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
Empareja con TsgcWebSocketClient apuntando a /socket.io/ con EIO=4&transport=websocket — el componente gestiona el handshake de Engine.IO y te permite Emit / Subscribe eventos.
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\"}");
Implementa tanto la capa de transporte Engine.IO (ping/pong, upgrade) como la capa de mensajes Socket.IO (CONNECT, EVENT, ACK, DISCONNECT) sobre un único TsgcWebSocketClient.
Gestiona el handshake EIO=4, la cadencia ping/pong de 25 segundos y la ruta de upgrade del protocolo. El componente negocia automáticamente la codificación del payload (texto o binario).
Connect(namespace) abre namespaces adicionales sobre el mismo transporte. Emit(namespace, event, args) apunta al namespace elegido; OnSocketIOEvent informa del namespace originario por cada evento.
Pasa un callback a Emit con un identificador de ACK — cuando el servidor responde, el componente dispara OnSocketIOAck con el id correspondiente y los argumentos JSON.
Socket.IO v4 soporta payloads binarios intercalados. El componente preserva los placeholders y expone cada adjunto como un stream junto al envoltorio JSON.
Engancha el WatchDog del TsgcWebSocketClient subyacente para reconexión automática — al reabrir, el componente vuelve a enviar los paquetes CONNECT de cada namespace activo.
Las rooms de Socket.IO son un concepto del servidor; el componente participa emitiendo eventos join / leave según el contrato de rooms que defina tu servidor.
Fuentes oficiales del protocolo que este componente implementa.
Enlace directo a la referencia del componente, descarga el proyecto demo listo para ejecutar y consigue la prueba gratuita.
| Ayuda en línea — API_SocketIO Referencia completa de propiedades, métodos y eventos de este componente. | Abrir | |
| Prueba gratuita — sgcWebSockets Descarga el paquete de prueba y conéctate a servidores Socket.IO desde Delphi. | Abrir | |
| Documento técnico (PDF) Características, inicio rápido, ejemplos de código para Delphi y C++ Builder y referencias a fuentes primarias Features, quick start, code samples for Delphi & C++ Builder and primary-source references — this component only.mdash; solo de este componente. | Abrir | |
| Manual de usuario (PDF) Manual completo que cubre todos los componentes de la librería. | Abrir |