TsgcWebSocketClientMethods › Connect

Connect Method

Opent de WebSocket-verbinding synchroon en blokkeert de aanroeper totdat de handshake is voltooid of de time-out verstreken is.

Syntaxis

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

Parameters

NaamTypeBeschrijving
AErrorout stringRetourneert de beschrijving van de verbindingsfout wanneer de methode mislukt, of een lege string bij succes. Dezelfde tekst is achteraf beschikbaar in LastError.
aTimeoutconst IntegerMaximale wachttijd in milliseconden tot de verbinding actief wordt. Standaard 10000 (10 seconden).

Retourwaarde

True wanneer de client verbonden is en de WebSocket-handshake binnen de time-out is voltooid; anders False. (Boolean)

Opmerkingen

Connect is de blokkerende tegenhanger van het instellen van Active := True. Het stelt Active intern in en wacht vervolgens op een interne gebeurtenis totdat de verbinding tot stand is gebracht of de time-out verstrijkt. Als de client al verbonden is, retourneert de methode onmiddellijk True. Wanneer de functie True retourneert, is het veilig om direct WriteData aan te roepen, zonder op OnConnect te wachten. Gebruik in plaats daarvan Start als u een niet-blokkerende aanroep nodig hebt die vanaf een secundaire thread verbindt, of ConnectTask voor een niet-blokkerende verbinding in future-stijl (Delphi 2010+).

De overload met een out AError-parameter gedraagt zich identiek maar retourneert daarnaast de reden van een mislukte poging, zodat er geen event-handler nodig is om te weten waarom de verbinding niet is gelukt. LastError wordt vóór elke poging gewist en bevat daarna dezelfde tekst.

Voorbeeld


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

Terug naar methoden