TsgcWebSocketClient › Yöntemler › WriteData
WebSocket sunucusuna bir metin mesajı gönderir, isteğe bağlı olarak belirli bir boyutta parçalara bölerek.
procedure WriteData(const aText: String; const aSize: Integer = 0; const aStreaming: TwsStreaming = stmNone);
| Name | Type | Açıklama |
|---|---|---|
aText | const 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. |
aStreaming | const TwsStreaming | Parçalı iletim için akış modu (stmNone, stmStart, stmContinue, stmFinish). Tam, bağımsız bir mesaj gönderen stmNone varsayılandır. |
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.
oClient.WriteData('My First sgcWebSockets Message!.');
procedure WriteData(const aStream: TStream; const aSize: Integer = 0; const aStreaming: TwsStreaming = stmNone);
| Name | Type | Açıklama |
|---|---|---|
aStream | const 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. |
aStreaming | const TwsStreaming | Parçalı iletim için akış modu (stmNone, stmStart, stmContinue, stmFinish). Tam, bağımsız bir mesaj gönderen stmNone varsayılandır. |
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.
oStream := TMemoryStream.Create;
try
oStream.LoadFromFile('payload.bin');
oClient.WriteData(oStream);
finally
oStream.Free;
end;