TsgcWSPClient_WAMP › Methods › WriteData
Verstuurt een vooraf gebouwd tekst- of binair WAMP-frame rechtstreeks via het onderliggende WebSocket-transport.
procedure WriteData(const aText: String);
| Naam | Type | Beschrijving |
|---|---|---|
aText | const String | Klaar-te-verzenden WAMP JSON-tekstframe (bijvoorbeeld [2,"id","proc"] voor een CALL). Verbatim verzonden als een WebSocket-tekstframe. |
Low-level ontsnappingsluik voor het verzenden van experimentele of serverspecifieke WAMP-berichten die de high-level API (Call, Subscribe, Publish, enz.) niet blootstelt. De tekst wordt woordelijk geschreven, dus de aanroeper is verantwoordelijk voor het produceren van een goed gevormde WAMP-array-payload. Misbruik kan de sessie desynchroniseren of ervoor zorgen dat de server de client verbreekt.
// 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);
| Naam | Type | Beschrijving |
|---|---|---|
aStream | TStream | Bronstream waarvan de bytes worden verzonden als een binair WebSocket-frame. De huidige positie wordt gerespecteerd en de stream wordt voorwaarts gelezen. |
aSize | Integer | Aantal bytes te verzenden vanaf de huidige positie. Geef 0 door om te verzenden vanaf de huidige positie tot het einde van de stream. |
aStreaming | const TwsStreaming | Fragmentatiemodus: stmNone verzendt de payload als één frame; stmStart, stmContinue en stmEnd zenden WebSocket-continuatieframes uit wanneer de payload in stukken wordt opgesplitst. |
Binaire tegenhanger van de tekstoverbelasting. WAMP v1 is een JSON-over-tekst-protocol, dus deze vorm is bedoeld voor bijbehorende payloads (bijvoorbeeld handmatig samengestelde ping-frames, out-of-band bestandsoverdrachten of experimentele extensies) in plaats van standaard RPC/PubSub-verkeer. Omzeilt alle WAMP-boekhouding — er wordt geen OnCallResult-, OnCallError- of OnEvent-correlatie uitgevoerd voor op deze manier verzonden gegevens.
var
oStream: TFileStream;
begin
oStream := TFileStream.Create('payload.bin', fmOpenRead);
try
WAMP.WriteData(oStream);
finally
oStream.Free;
end;
end;