TsgcWebSocketClientMethoden › ConnectTask

ConnectTask Methode

Opent de WebSocket-verbinding in een achtergrondtaak en retourneert een IsgcTask-handle waarop kan worden gewacht en die kan worden gekoppeld of geannuleerd.

Syntaxis

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

Parameters

NaamTypeBeschrijving
aTimeoutconst IntegerMaximale wachttijd in milliseconden tot de verbinding actief wordt. Standaard 10000 (10 seconden).

Retourwaarde

Een IsgcTask-handle voor de lopende verbindingspoging. Roep Await aan om te blokkeren totdat deze is voltooid, ThenProc om bij succes een vervolgactie uit te voeren, OnError om fouten af te handelen en Cancel om af te breken. IsCompleted, IsCancelled en State rapporteren de voortgang.

Opmerkingen

ConnectTask is de tegenhanger in future-stijl van Connect: het voert de blokkerende verbinding uit op een achtergrondthread en keert onmiddellijk terug, zodat de aanroepende thread nooit wordt geblokkeerd. Als de verbinding niet binnen aTimeout tot stand kan worden gebracht, mislukt de taak met EsgcAsyncException en wordt de vervolgactie OnError uitgevoerd. Het aanroepen van Cancel op de geretourneerde taak verbreekt de verbinding van de client, zodat een nog lopende verbindingspoging wordt afgebroken in plaats van volledig te worden uitgevoerd. Vereist Delphi 2010 of later (en C++Builder 2010 of later); het is niet beschikbaar in de .NET-editie.

Voorbeeld


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

Terug naar methoden