TsgcWebSocketClientMethods › Connect

Connect Méthode

Ouvre la connexion WebSocket de manière synchrone et bloque l'appelant jusqu'à ce que la négociation soit terminée ou que le délai expire.

Syntaxe

function Connect(const aTimeout: Integer = 10000): Boolean; overload;
function Connect(out AError: string; const aTimeout: Integer = 10000): Boolean; overload;

Paramètres

NomTypeDescription
AErrorout stringRenvoie la description de l'erreur de connexion lorsque la méthode échoue, ou une chaîne vide en cas de succès. Le même texte est disponible ensuite dans LastError.
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

True lorsque le client est connecté et que le handshake WebSocket s'est terminé dans le délai imparti ; False sinon. (Boolean)

Remarques

Connect est le pendant bloquant de la définition de Active := True. Il définit Active en interne puis attend sur un événement interne jusqu'à ce que la connexion soit établie ou que le délai expire. Si le client est déjà connecté, la méthode renvoie True immédiatement. Lorsque la fonction renvoie True, il est possible d'appeler WriteData immédiatement, sans attendre OnConnect. Utilisez plutôt Start si vous avez besoin d'un appel non bloquant qui se connecte depuis un thread secondaire, ou ConnectTask pour une connexion non bloquante de style future (Delphi 2010+).

La surcharge avec un paramètre out AError se comporte de manière identique mais renvoie en plus la raison d'une tentative échouée, de sorte qu'aucun gestionnaire d'événements n'est nécessaire pour savoir pourquoi la connexion n'a pas abouti. LastError est effacé avant chaque tentative et contient ensuite le même texte.

Exemple


oClient := TsgcWebSocketClient.Create(nil);
oClient.Host := '127.0.0.1';
oClient.Port := 80;
if oClient.Connect(5000) then
  oClient.WriteData('Hello from client')
else
  ShowMessage('Connection failed');

Retour aux méthodes