TsgcWSPClient_WAMPYöntemler › WriteData

WriteData Yöntem

Önceden oluşturulmuş bir metin veya ikili WAMP çerçevesini doğrudan temeldeki WebSocket aktarımı üzerinden gönderir.

Aşırı Yüklemeler

Aşırı Yükleme 1

Sözdizimi

procedure WriteData(const aText: String);

Parametreler

NameTypeAçıklama
aTextconst StringGönderilmeye hazır WAMP JSON metin çerçevesi (örneğin bir CALL için [2,"id","proc"]). Bir WebSocket metin çerçevesi olarak olduğu gibi iletilir.

Remarks

Yüksek seviyeli API'nin (Call, Subscribe, Publish, vb.) sunmadığı deneysel veya sunucuya özgü WAMP mesajları göndermek için düşük seviyeli kaçış kapağı. Metin olduğu gibi yazılır, bu nedenle iyi biçimlendirilmiş bir WAMP dizi yükü üretmek çağıranın sorumluluğundadır. Yanlış kullanım, oturumu senkronize edemez veya sunucunun istemciyle bağlantısını kesmesine neden olabilir.

Örnek


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

Overload 2

Sözdizimi

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

Parametreler

NameTypeAçıklama
aStreamTStreamBaytları ikili bir WebSocket çerçevesi olarak gönderilen kaynak akış. Geçerli konuma uyulur ve akış ileri doğru okunur.
aSizeIntegerGeçerli konumdan gönderilecek bayt sayısı. Geçerli konumdan akışın sonuna kadar iletmek için 0 geçirin.
aStreamingconst TwsStreamingParçalama modu: stmNone yükü tek bir çerçeve olarak gönderir; stmStart, stmContinue ve stmEnd, yük parçalara bölündüğünde WebSocket continuation çerçeveleri yayınlar.

Remarks

Metin aşırı yüklemesinin ikili eşdeğeri. WAMP v1 bir JSON-over-text protokolüdür, dolayısıyla bu form standart RPC/PubSub trafiği yerine eşlik eden yükler (örneğin elle hazırlanmış ping çerçeveleri, bant dışı dosya aktarımları veya deneysel uzantılar) için tasarlanmıştır. Tüm WAMP defter tutmayı atlar — bu şekilde gönderilen veriler için hiçbir OnCallResult, OnCallError veya OnEvent ilişkilendirmesi yapılmaz.

Örnek


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

Yöntemlere Dön