TsgcWSPClient_WAMP › メソッド › WriteData
構築済みのテキストまたはバイナリ WAMP フレームを基盤の WebSocket トランスポートを通じて直接送信します。
procedure WriteData(const aText: String);
| 名前 | タイプ | 説明 |
|---|---|---|
aText | const String | 送信する WAMP JSON テキストフレーム(例:CALL の場合は [2,"id","proc"])。WebSocket テキストフレームとしてそのまま送信されます。 |
高レベル API(Call、Subscribe、Publish など)が公開していない実験的またはサーバー固有の WAMP メッセージを発行するための低レベルエスケープハッチ。テキストはそのまま書き込まれるため、呼び出し元は適切な WAMP 配列ペイロードを生成する責任があります。誤用するとセッションの同期が取れなくなったり、サーバーがクライアントを切断する可能性があります。
// send a hand-crafted WAMP PREFIX frame
WAMP.WriteData('[1,"calc","http://example.com/simple/calc#"]');
procedure WriteData(aStream: TStream; aSize: Integer = 0; const aStreaming: TwsStreaming = stmNone);
| 名前 | タイプ | 説明 |
|---|---|---|
aStream | TStream | バイトが WebSocket バイナリフレームとして送信されるソースストリーム。現在位置が考慮されてストリームが前方に読み取られます。 |
aSize | Integer | 現在の位置から送信するバイト数。現在の位置からストリームの終端まで送信するには 0 を渡してください。 |
aStreaming | const TwsStreaming | フラグメンテーションモード:stmNone はペイロードを単一フレームとして送信します。stmStart、stmContinue、stmEnd は、ペイロードをチャンクに分割する際に WebSocket 継続フレームを発行します。 |
テキストオーバーロードのバイナリ版です。WAMP v1 は JSON-over-text プロトコルであるため、この形式は標準的な RPC/PubSub トラフィックではなく、コンパニオンペイロード(例えば手作りの ping フレーム、帯域外ファイル転送、または実験的拡張)を対象としています。すべての WAMP のブックキーピングをバイパスします。この方法で送信されたデータに対して OnCallResult、OnCallError、または OnEvent の相関関係は実行されません。
var
oStream: TFileStream;
begin
oStream := TFileStream.Create('payload.bin', fmOpenRead);
try
WAMP.WriteData(oStream);
finally
oStream.Free;
end;
end;