TsgcWebSocketClient › Metodi › Connect
Apre la connessione WebSocket in modo sincrono e blocca il chiamante fino al completamento dell'handshake o alla scadenza del timeout.
function Connect(const aTimeout: Integer = 10000): Boolean; overload;
function Connect(out AError: string; const aTimeout: Integer = 10000): Boolean; overload;
| Nome | Tipo | Descrizione |
|---|---|---|
AError | out string | Restituisce la descrizione dell'errore di connessione quando il metodo non riesce, oppure una stringa vuota in caso di successo. Lo stesso testo è disponibile in seguito in LastError. |
aTimeout | const Integer | Tempo massimo in millisecondi da attendere affinché la connessione diventi attiva. Il valore predefinito è 10000 (10 secondi). |
True quando il client è connesso e l'handshake WebSocket è stato completato entro il timeout; False in caso contrario. (Boolean)
Connect è la controparte bloccante dell'impostazione Active := True. Imposta Active internamente e poi attende su un evento interno finché la connessione non viene stabilita o il timeout non scade. Se il client è già connesso, il metodo restituisce True immediatamente. Quando la funzione restituisce True è sicuro chiamare subito WriteData, senza attendere OnConnect. Utilizzare invece Start se serve una chiamata non bloccante che si connette da un thread secondario, oppure ConnectTask per una connessione non bloccante in stile future (Delphi 2010+).
L'overload con un parametro out AError si comporta in modo identico ma restituisce inoltre il motivo di un tentativo non riuscito, quindi non è necessario alcun gestore di eventi per sapere perché la connessione non è riuscita. LastError viene azzerato prima di ogni tentativo e contiene lo stesso testo in seguito.
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');