TsgcWebSocketClient › Methods › Connect
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.
function Connect(const aTimeout: Integer = 10000): Boolean; overload;
function Connect(out AError: string; const aTimeout: Integer = 10000): Boolean; overload;
| Nom | Type | Description |
|---|---|---|
AError | out string | Renvoie 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. |
aTimeout | const Integer
| Temps maximum en millisecondes pour attendre que la connexion devienne active. La valeur par défaut est 10000 (10 secondes). |
True lorsque le client est connecté et que le handshake WebSocket s'est terminé dans le délai imparti ; False sinon. (Boolean)
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.
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');