TsgcWebSocketClient › Methoden › Connect
Öffnet die WebSocket-Verbindung synchron und blockiert den Aufrufer, bis der Handshake abgeschlossen ist oder das Timeout abläuft.
function Connect(const aTimeout: Integer = 10000): Boolean; overload;
function Connect(out AError: string; const aTimeout: Integer = 10000): Boolean; overload;
| Name | Typ | Beschreibung |
|---|---|---|
AError | out string | Gibt 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. |
aTimeout | const Integer | Maximale Zeit in Millisekunden, die auf das Aktivwerden der Verbindung gewartet wird. Standardwert ist 10000 (10 Sekunden). |
True, wenn der Client verbunden ist und der WebSocket-Handshake innerhalb des Timeouts abgeschlossen wurde; andernfalls False. (Boolean)
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.
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');