TsgcWebSocketClientMethoden › Connect

Connect Methode

Öffnet die WebSocket-Verbindung synchron und blockiert den Aufrufer, bis der Handshake abgeschlossen ist oder das Timeout abläuft.

Syntax

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

Parameter

NameTypBeschreibung
AErrorout stringGibt die Beschreibung des Verbindungsfehlers zurück, wenn die Methode fehlschlägt, oder einen leeren String bei Erfolg. Derselbe Text ist anschließend in LastError verfügbar.
aTimeoutconst IntegerMaximale Zeit in Millisekunden, die auf das Aktivwerden der Verbindung gewartet wird. Standardwert ist 10000 (10 Sekunden).

Rückgabewert

True, wenn der Client verbunden ist und der WebSocket-Handshake innerhalb des Timeouts abgeschlossen wurde; andernfalls False. (Boolean)

Hinweise

Connect ist das blockierende Gegenstück zum Setzen von Active := True. Es setzt intern Active und wartet dann auf ein internes Ereignis, bis die Verbindung hergestellt ist oder das Timeout abläuft. Ist der Client bereits verbunden, gibt die Methode sofort True zurück. Wenn die Funktion True zurückgibt, kann WriteData sofort aufgerufen werden, ohne auf OnConnect zu warten. Verwenden Sie stattdessen Start, wenn Sie einen nicht blockierenden Aufruf benötigen, der aus einem sekundären Thread verbindet, oder ConnectTask für einen nicht blockierenden Verbindungsaufbau im Future-Stil (Delphi 2010+).

Die Überladung mit einem out AError-Parameter verhält sich identisch, gibt aber zusätzlich den Grund eines fehlgeschlagenen Versuchs zurück, sodass kein Event-Handler nötig ist, um zu erfahren, warum die Verbindung nicht zustande kam. LastError wird vor jedem Versuch gelöscht und enthält anschließend denselben Text.

Beispiel


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

Zurück zu Methoden