Socket.IO クライアント
Delphi / C++Builder から Socket.IO サーバーに接続します。Engine.IO トランスポートに加え、ACK およびルームをともなう Socket.IO のイベント / 名前空間レイヤーをサポートします。
Delphi / C++Builder から Socket.IO サーバーに接続します。Engine.IO トランスポートに加え、ACK およびルームをともなう Socket.IO のイベント / 名前空間レイヤーをサポートします。
Socket.IO v3 / v4 プロトコル向けのクライアントです。Engine.IO トランスポート、名前空間、イベントの送受信、ACK コールバック、バイナリ添付に対応します。
TsgcWSAPI_SocketIO
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
/socket.io/ を EIO=4&transport=websocket で対象とする TsgcWebSocketClient とペアにすると、コンポーネントが Engine.IO ハンドシェイクを処理し、イベントの Emit / Subscribe が可能になります。
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\"}");
単一の TsgcWebSocketClient 上で Engine.IO トランスポートレイヤー (ping/pong、アップグレード) と Socket.IO メッセージレイヤー (CONNECT、EVENT、ACK、DISCONNECT) の両方を実装します。
EIO=4 ハンドシェイク、25 秒間隔の ping/pong、プロトコルアップグレード経路を処理します。コンポーネントはペイロードのエンコーディング (テキストまたはバイナリ) を自動的にネゴシエートします。
Connect(namespace) は同じトランスポート上に追加の名前空間を開きます。Emit(namespace, event, args) は指定した名前空間を対象とし、OnSocketIOEvent はイベントごとに発信元の名前空間を通知します。
Emit に ACK 識別子を含むコールバックを渡すと、サーバーが応答した際に、対応する ID と JSON 引数とともに OnSocketIOAck が発火します。
Socket.IO v4 はインターリーブされたバイナリペイロードをサポートします。コンポーネントはプレースホルダーを保持し、各添付ファイルを JSON エンベロープとともにストリームとして提供します。
基盤の TsgcWebSocketClient のウォッチドッグをバインドして自動再接続させると、再オープン時にコンポーネントがすべてのアクティブな名前空間に対して CONNECT パケットを再送信します。
Socket.IO のルームはサーバー側の概念です。コンポーネントは、サーバーが定義するルーム契約に従って join / leave イベントを発行することで参加します。
本コンポーネントが実装するプロトコルの信頼できる一次情報源です。
コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、体験版のダウンロードを提供します。
| オンラインヘルプ — API_SocketIO 本コンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。 | 開く | |
| 体験版 — sgcWebSockets Delphi から Socket.IO サーバーに接続するための体験版パッケージをダウンロードできます。 | 開く | |
| 技術ドキュメント (PDF) 本コンポーネントに特化した機能解説、クイックスタート、Delphi および C++ Builder のコードサンプル、一次情報源リファレンスを収録しています。 | 開く | |
| ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した総合マニュアルです。 | 開く |