TsgcWebSocketClientMethoden › ConnectTask

ConnectTask Methode

Öffnet die WebSocket-Verbindung in einem Hintergrund-Task und gibt ein IsgcTask-Handle zurück, das erwartet, verkettet oder abgebrochen werden kann.

Syntax

function ConnectTask(const aTimeout: Integer = 10000): IsgcTask;

Parameter

NameTypBeschreibung
aTimeoutconst IntegerMaximale Zeit in Millisekunden, die auf das Aktivwerden der Verbindung gewartet wird. Standardwert ist 10000 (10 Sekunden).

Rückgabewert

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.

Hinweise

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.

Beispiel


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);

Zurück zu Methoden