TsgcWSPClient_WAMPMethods › WriteData

WriteData Methode

Verstuurt een vooraf gebouwd tekst- of binair WAMP-frame rechtstreeks via het onderliggende WebSocket-transport.

Overloads

Overload 1

Syntaxis

procedure WriteData(const aText: String);

Parameters

NaamTypeBeschrijving
aTextconst StringKlaar-te-verzenden WAMP JSON-tekstframe (bijvoorbeeld [2,"id","proc"] voor een CALL). Verbatim verzonden als een WebSocket-tekstframe.

Opmerkingen

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.

Voorbeeld


// send a hand-crafted WAMP PREFIX frame
WAMP.WriteData('[1,"calc","http://example.com/simple/calc#"]');

Overload 2

Syntaxis

procedure WriteData(aStream: TStream; aSize: Integer = 0; const aStreaming: TwsStreaming = stmNone);

Parameters

NaamTypeBeschrijving
aStreamTStreamBronstream waarvan de bytes worden verzonden als een binair WebSocket-frame. De huidige positie wordt gerespecteerd en de stream wordt voorwaarts gelezen.
aSizeIntegerAantal bytes te verzenden vanaf de huidige positie. Geef 0 door om te verzenden vanaf de huidige positie tot het einde van de stream.
aStreamingconst TwsStreamingFragmentatiemodus: stmNone verzendt de payload als één frame; stmStart, stmContinue en stmEnd zenden WebSocket-continuatieframes uit wanneer de payload in stukken wordt opgesplitst.

Opmerkingen

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.

Voorbeeld


var
  oStream: TFileStream;
begin
  oStream := TFileStream.Create('payload.bin', fmOpenRead);
  try
    WAMP.WriteData(oStream);
  finally
    oStream.Free;
  end;
end;

Terug naar methoden