TsgcWebSocketClientMetodi › ConnectTask

ConnectTask Metodo

Apre la connessione WebSocket in un task in background e restituisce un handle IsgcTask che può essere atteso, concatenato o annullato.

Sintassi

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

Parametri

NomeTipoDescrizione
aTimeoutconst IntegerTempo massimo in millisecondi da attendere affinché la connessione diventi attiva. Il valore predefinito è 10000 (10 secondi).

Valore restituito

Un handle IsgcTask per il tentativo di connessione in corso. Chiamare Await per bloccare fino al completamento, ThenProc per eseguire una continuazione in caso di successo, OnError per gestire gli errori e Cancel per annullare. IsCompleted, IsCancelled e State riportano lo stato di avanzamento.

Note

ConnectTask è la controparte in stile future di Connect: esegue la connessione bloccante su un thread in background e ritorna immediatamente, quindi il thread chiamante non viene mai bloccato. Se la connessione non può essere stabilita entro aTimeout, il task fallisce con EsgcAsyncException e viene eseguita la continuazione OnError. La chiamata a Cancel sul task restituito disconnette il client, quindi un tentativo di connessione ancora in corso viene interrotto invece di essere portato a termine. Richiede Delphi 2010 o successivo (e C++Builder 2010 o successivo); non è disponibile nell'edizione .NET.

Esempio


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

Torna ai Metodi