TsgcWebSocketClient › Methoden › ConnectTask
Öffnet die WebSocket-Verbindung in einem Hintergrund-Task und gibt ein IsgcTask-Handle zurück, das erwartet, verkettet oder abgebrochen werden kann.
function ConnectTask(const aTimeout: Integer = 10000): IsgcTask;
| Name | Typ | Beschreibung |
|---|---|---|
aTimeout | const Integer | Maximale Zeit in Millisekunden, die auf das Aktivwerden der Verbindung gewartet wird. Standardwert ist 10000 (10 Sekunden). |
Ein IsgcTask-Handle für den ausstehenden Verbindungsversuch. Rufen Sie Await auf, um zu blockieren, bis er abgeschlossen ist, ThenProc, um bei Erfolg eine Continuation auszuführen, OnError, um Fehler zu behandeln, und Cancel, um abzubrechen. IsCompleted, IsCancelled und State melden den Fortschritt.
ConnectTask ist das Future-Gegenstück zu Connect: Es führt den blockierenden Verbindungsaufbau in einem Hintergrundthread aus und kehrt sofort zurück, sodass der aufrufende Thread nie blockiert wird. Kann die Verbindung nicht innerhalb von aTimeout hergestellt werden, schlägt der Task mit EsgcAsyncException fehl und die OnError-Continuation wird ausgeführt. Der Aufruf von Cancel auf dem zurückgegebenen Task trennt die Verbindung des Clients, sodass ein noch laufender Verbindungsversuch abgebrochen wird, statt bis zum Ende zu laufen. Erfordert Delphi 2010 oder höher (und C++Builder 2010 oder höher); in der .NET-Edition ist es nicht verfügbar.
oClient := TsgcWebSocketClient.Create(nil);
oClient.URL := 'wss://www.esegece.com:2053';
oClient.ConnectTask(5000)
.ThenProc(procedure
begin
oClient.WriteData('Hello from client');
end)
.OnError(procedure(E: Exception)
begin
ShowMessage('Connection failed: ' + E.Message);
end);