TsgcWebSocketClient › Méthodes › ConnectTask
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é.
function ConnectTask(const aTimeout: Integer = 10000): IsgcTask;
| Nom | Type | Description |
|---|---|---|
aTimeout | const Integer
| Temps maximum en millisecondes pour attendre que la connexion devienne active. La valeur par défaut est 10000 (10 secondes). |
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.
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.
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);