TsgcWebSocketClient | Client Open Connection

Sobald Ihr Client für die Verbindung mit einem Server konfiguriert ist, gibt es 3 verschiedene Optionen, um eine neue Verbindung zu öffnen.

 

Active Property

Der einfachste Weg, eine neue Verbindung zu öffnen, besteht darin, die Eigenschaft Active auf true zu setzen. Dies versucht, eine Verbindung zum Server mithilfe der Komponentenkonfiguration herzustellen.

Wenn Sie die Active-Eigenschaft auf false setzen, wird die Verbindung geschlossen, falls sie aktiv ist.

Diese Methode wird im selben Thread wie der Aufrufer ausgeführt. Wenn Sie sie also aus dem Hauptthread aufrufen, wird die Methode im Hauptthread der Anwendung ausgeführt.

 

Open Connection


oClient := TsgcWebSocketClient.Create(nil);
...
oClient.Active := true;

Wenn Sie Active = true aufrufen, können Sie immer noch keine Daten an den Server senden, da der Client möglicherweise noch verbindet. Sie müssen zunächst warten, bis das OnConnect-Ereignis ausgelöst wird, und dann können Sie beginnen, Nachrichten an den Server zu senden.

 

 

Close Connection


oClient.Active := false;

Wenn Sie Active = false aufrufen, können Sie nicht sicher sein, dass die Verbindung bereits geschlossen ist, unmittelbar nach diesem Code; Sie müssen daher warten, bis das Ereignis OnDisconnect ausgelöst wird.

 

 

Start/Stop-Methoden

Wenn Sie Start() oder Stop() aufrufen, um eine Verbindung zum Server herzustellen oder zu trennen, wird der Aufruf in einem sekundären Thread ausgeführt, sodass er den Thread, in dem er aufgerufen wird, nicht blockiert. Verwenden Sie diese Methode, wenn Sie eine Verbindung zu einem Server herstellen und Ihren nachfolgenden Code fortsetzen lassen möchten.

 

Open Connection


oClient := TsgcWebSocketClient.Create(nil);
...
oClient.Start();

Wenn Sie Start() aufrufen, können Sie immer noch keine Daten an den Server senden, da der Client möglicherweise noch verbindet. Sie müssen zuerst warten, bis das Ereignis OnConnect ausgelöst wird, und dann können Sie beginnen, Nachrichten an den Server zu senden.

 

Close Connection


oClient.Stop();

Wenn Sie Stop() aufrufen, können Sie nicht sicher sein, dass die Verbindung unmittelbar nach diesem Code bereits geschlossen ist; Sie müssen also warten, bis das Ereignis OnDisconnect ausgelöst wird.

 

 

Connect/Disconnect-Methoden

Wenn Sie Connect() oder Disconnect() aufrufen, um eine Verbindung zum Server zu öffnen/zu schließen, wird der Aufruf in demselben Thread ausgeführt, in dem er aufgerufen wird, aber er wartet, bis der Vorgang abgeschlossen ist. Sie müssen einen Timeout festlegen, um die maximale Zeit zu definieren, die gewartet wird, bis der Vorgang abgeschlossen ist (standardmäßig 10 Sekunden).

 

Beispiel: Verbindung zum Server herstellen und bis zu 5 Sekunden warten


oClient := TsgcWebSocketClient.Create(nil);
...
if oClient.Connect(5000) then
  oClient.WriteData('Hello from client')
else
  Error();

Wenn die Connect()-Methode ein erfolgreiches Ergebnis zurückgibt, können Sie bereits eine Nachricht an den Server senden, da die Verbindung aktiv ist.

 

 

Beispiel: Verbindung zum Server trennen und bis zu 10 Sekunden warten


if oClient.Disconnect(10000) then
  ShowMessage('Disconnected')
else
  ShowMessage('Not Disconnected');

Wenn die Methode Disconnect() ein erfolgreiches Ergebnis zurückgibt, bedeutet das, dass die Verbindung bereits geschlossen ist.

 

Das Ereignis OnBeforeConnect kann verwendet werden, um die Server-Verbindungseigenschaften anzupassen, bevor der Client versucht, sich mit ihm zu verbinden.