Cliente Socket.IO
Conecte-se a servidores Socket.IO a partir de Delphi/C++Builder. Fala o transporte Engine.IO mais a camada de eventos/namespaces do Socket.IO com ACKs e rooms.
Conecte-se a servidores Socket.IO a partir de Delphi/C++Builder. Fala o transporte Engine.IO mais a camada de eventos/namespaces do Socket.IO com ACKs e rooms.
Cliente para o protocolo Socket.IO v3/v4 — transporte Engine.IO, namespaces, emissão/recepção de eventos, callbacks ACK e anexos binários.
TsgcWSAPI_SocketIO
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
Combine com TsgcWebSocketClient apontando para /socket.io/ com EIO=4&transport=websocket — o componente cuida do handshake do Engine.IO e permite que você use Emit / Subscribe em 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 a camada de transporte Engine.IO (ping/pong, upgrade) quanto a camada de mensagens Socket.IO (CONNECT, EVENT, ACK, DISCONNECT) em um único TsgcWebSocketClient.
Cuida do handshake EIO=4, da cadência de ping/pong de 25 segundos e do caminho de upgrade do protocolo. O componente negocia a codificação do payload (texto ou binário) automaticamente.
Connect(namespace) abre namespaces adicionais sobre o mesmo transporte. Emit(namespace, event, args) direciona ao namespace escolhido; OnSocketIOEvent informa o namespace de origem por evento.
Passe um callback para Emit com um identificador ACK — quando o servidor responder, o componente dispara OnSocketIOAck com o id correspondente e os argumentos JSON.
O Socket.IO v4 suporta payloads binários intercalados. O componente preserva os placeholders e entrega cada anexo como um stream ao lado do envelope JSON.
Associe o WatchDog do TsgcWebSocketClient subjacente para reconexão automática — ao reabrir, o componente reenvia os pacotes CONNECT de cada namespace ativo.
Rooms do Socket.IO são um conceito do servidor; o componente participa emitindo eventos join / leave de acordo com o contrato de rooms que seu servidor definir.
Fontes oficiais para o protocolo que este componente implementa.
Acesse a referência do componente, baixe o projeto de demonstração pronto para executar e obtenha a versão de avaliação.
| Ajuda online — API_SocketIO Referência completa de propriedades, métodos e eventos deste componente. | Abrir | |
| Avaliação gratuita — sgcWebSockets Baixe o pacote de avaliação e conecte-se a servidores Socket.IO a partir do Delphi. | Abrir | |
| Documento técnico (PDF) Recursos, início rápido, exemplos de código para Delphi e C++ Builder e referências oficiais — apenas este componente. | Abrir | |
| Manual do usuário (PDF) Manual completo cobrindo cada componente da biblioteca. | Abrir |