TsgcWebSocketClientMéthodes › ConnectTask

ConnectTask Méthode

Ouvre la connexion WebSocket dans une tâche d'arrière-plan et renvoie un handle IsgcTask qui peut être attendu, chaîné ou annulé.

Syntaxe

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

Paramètres

NomTypeDescription
aTimeoutconst Integer Temps maximum en millisecondes pour attendre que la connexion devienne active. La valeur par défaut est 10000 (10 secondes).

Valeur de retour

Un handle IsgcTask pour la tentative de connexion en attente. Appelez Await pour bloquer jusqu'à sa fin, ThenProc pour exécuter une continuation en cas de succès, OnError pour gérer les échecs et Cancel pour abandonner. IsCompleted, IsCancelled et State indiquent la progression.

Remarques

ConnectTask est le pendant de style future de Connect : il exécute la connexion bloquante dans un thread d'arrière-plan et retourne immédiatement, de sorte que le thread appelant n'est jamais bloqué. Si la connexion ne peut pas être établie dans le délai aTimeout, la tâche échoue avec EsgcAsyncException et la continuation OnError s'exécute. Appeler Cancel sur la tâche renvoyée déconnecte le client, de sorte qu'une tentative de connexion encore en cours est abandonnée au lieu de s'exécuter jusqu'au bout. Nécessite Delphi 2010 ou version ultérieure (et C++Builder 2010 ou version ultérieure) ; non disponible dans l'édition .NET.

Exemple


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

Retour aux méthodes