TsgcWSPClient_WAMPMethoden › WriteData

WriteData Methode

Sendet einen vorab erstellten Text- oder Binär-WAMP-Frame direkt über den zugrunde liegenden WebSocket-Transport.

Überladungen

Overload 1

Syntax

procedure WriteData(const aText: String);

Parameter

NameTypBeschreibung
aTextconst StringSendebereiter WAMP-JSON-Text-Frame (zum Beispiel [2,"id","proc"] für einen CALL). Wird unverändert als WebSocket-Text-Frame übertragen.

Hinweise

Low-Level-Notausgang zum Senden experimenteller oder serverspezifischer WAMP-Nachrichten, die die High-Level-API (Call, Subscribe, Publish usw.) nicht bereitstellt. Der Text wird wortgetreu geschrieben, daher ist der Aufrufer dafür verantwortlich, eine wohlgeformte WAMP-Array-Nutzlast zu erzeugen. Fehlbedienung kann die Sitzung desynchronisieren oder dazu führen, dass der Server die Verbindung zum Client trennt.

Beispiel


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

Überladung 2

Syntax

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

Parameter

NameTypBeschreibung
aStreamTStreamQuell-Stream, dessen Bytes als binärer WebSocket-Frame gesendet werden. Die aktuelle Position wird berücksichtigt und der Stream wird vorwärts gelesen.
aSizeIntegerAnzahl der ab der aktuellen Position zu sendenden Bytes. Übergeben Sie 0, um von der aktuellen Position bis zum Ende des Streams zu übertragen.
aStreamingconst TwsStreamingFragmentierungsmodus: stmNone sendet die Nutzlast als einzelnen Frame; stmStart, stmContinue und stmEnd geben WebSocket-Fortsetzungsframes aus, wenn die Nutzlast in Chunks aufgeteilt wird.

Hinweise

Binär-Begleiter der Text-Überladung. WAMP v1 ist ein JSON-über-Text-Protokoll, daher ist diese Form für Begleit-Nutzlasten gedacht (zum Beispiel handgefertigte Ping-Frames, Out-of-Band-Dateiübertragungen oder experimentelle Erweiterungen) statt für standardmäßigen RPC-/PubSub-Verkehr. Umgeht jegliche WAMP-Buchführung — für auf diese Weise gesendete Daten wird keine OnCallResult-, OnCallError- oder OnEvent-Korrelation durchgeführt.

Beispiel


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

Zurück zu Methoden