TsgcWebSocketClientYöntemler › WriteData

WriteData Yöntem

WebSocket sunucusuna bir metin mesajı gönderir, isteğe bağlı olarak belirli bir boyutta parçalara bölerek.

Aşırı Yüklemeler

Aşırı Yükleme 1

Sözdizimi

procedure WriteData(const aText: String; const aSize: Integer = 0; const aStreaming: TwsStreaming = stmNone);

Parametreler

NameTypeAçıklama
aTextconst String Sunucuya bir WebSocket metin çerçevesi olarak gönderilecek metin yükü.
aSize const Integerİsteğe bağlı bayt cinsinden parça boyutu; sıfırdan büyük olduğunda mesaj bu boyutta birden çok parçaya bölünür. Tüm mesajı tek bir çerçeve olarak göndermek için 0 (varsayılan) kullanın.
aStreamingconst TwsStreamingParçalı iletim için akış modu (stmNone, stmStart, stmContinue, stmFinish). Tam, bağımsız bir mesaj gönderen stmNone varsayılandır.

Remarks

WriteData, dizeyi etkin bağlantıda bir WebSocket metin çerçevesi olarak iletir. Varsayılan olarak çağrı, çağıran iş parçacığında çalışır ve baytlar sokete teslim edildikten sonra geri döner. QueueOptions.Text değeri qmNone dışında bir değere ayarlandığında, mesaj kuyruğa alınır ve aslında bağlantının kendi iş parçacığından gönderilir, bu da birkaç iş parçacığı eşzamanlı olarak yazdığında kilitlenmeleri önler. İstemci bağlı değilken çağrı bir işlem yapmaz ve herhangi bir soket istisnası OnError olayına iletilir. Büyük yükler veya ikili veriler gönderirken akış aşırı yüklemesini kullanın.

Örnek


oClient.WriteData('My First sgcWebSockets Message!.');

Overload 2

Sözdizimi

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

Parametreler

NameTypeAçıklama
aStreamconst TStreamİçeriği bir WebSocket ikili çerçevesi olarak gönderilecek kaynak akış. Akışın sahipliği çağırana ait kalır.
aSize const Integerİsteğe bağlı bayt cinsinden parça boyutu; sıfırdan büyük olduğunda akış bu boyutta birden çok parçaya bölünür. Tüm akışı tek bir çerçeve olarak göndermek için 0 (varsayılan) kullanın.
aStreamingconst TwsStreamingParçalı iletim için akış modu (stmNone, stmStart, stmContinue, stmFinish). Tam, bağımsız bir mesaj gönderen stmNone varsayılandır.

Remarks

WriteData, sağlanan akışı mevcut konumundan okur ve içeriği bir WebSocket ikili çerçevesi olarak iletir. Çağrı varsayılan olarak çağıran iş parçacığında çalışır; QueueOptions.Binary qmNone dışında bir değere ayarlandığında, mesaj kuyruğa alınır ve gerçekte bağlantı iş parçacığından gönderilir. Yöntem, istemci bağlı olmadığında bir işlem yapmaz ve soket istisnaları yakalanıp OnError'a iletilir. Akışı yalnızca çağrı döndükten sonra (veya kuyruğa alırken, gönderim tamamlandıktan sonra) serbest bırakın.

Örnek


oStream := TMemoryStream.Create;
try
  oStream.LoadFromFile('payload.bin');
  oClient.WriteData(oStream);
finally
  oStream.Free;
end;

Yöntemlere Dön