TsgcWebSocketClient | Verbinding openen

Zodra uw client is geconfigureerd om verbinding te maken met een server, zijn er 3 verschillende opties om een nieuwe verbinding te openen.

 

Active Eigenschap

De eenvoudigste manier om een nieuwe verbinding te openen, is de eigenschap Active in te stellen op true. Dit zal proberen verbinding te maken met de server via de componentconfiguratie.

Als u de eigenschap Active instelt op false, wordt de verbinding verbroken als deze actief is.

Deze methode wordt uitgevoerd in dezelfde thread als de aanroeper. Als u hem aanroept vanuit de Main Thread, wordt de methode uitgevoerd in de Main Thread van de applicatie.

 

Verbinding openen


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

Wanneer u Active = true instelt, kunt u nog geen gegevens naar de server verzenden omdat de client mogelijk nog verbinding aan het maken is. U moet eerst wachten totdat de gebeurtenis OnConnect wordt geactiveerd, en daarna kunt u beginnen met het verzenden van berichten naar de server.

 

 

Verbinding sluiten


oClient.Active := false;

When you call Active = false, you cannot be sure that verbinding is already closed just after this code, so u dient wait until the OnDisconnect event is fired.

 

 

Start-/stopmethoden

Wanneer u Start() of Stop() aanroept om verbinding te maken met of de verbinding te verbreken van de server, wordt de aanroep uitgevoerd in een secundaire thread, zodat de thread waar de aanroep wordt gedaan niet wordt geblokkeerd. Gebruik deze methode als u verbinding wilt maken met een server en uw onderliggende code wilt laten doorgaan.

 

Verbinding openen


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

Wanneer u Start() aanroept, kunt u nog steeds geen gegevens naar de server verzenden omdat de client mogelijk nog verbinding maakt. U moet eerst wachten totdat de OnConnect-gebeurtenis is gegenereerd, en daarna kunt u beginnen met het verzenden van berichten naar de server.

 

Verbinding sluiten


oClient.Stop();

Wanneer u Stop() aanroept, kunt u er niet zeker van zijn dat de verbinding al is gesloten direct na deze code; u moet wachten totdat de OnDisconnect-gebeurtenis wordt geactiveerd.

 

 

Verbinden/verbreken methoden

Wanneer u Connect() of Disconnect() aanroept om een verbinding met de server te openen/sluiten, wordt de aanroep uitgevoerd in dezelfde thread waarin deze wordt aangeroepen, maar hij wacht totdat het proces is voltooid. U moet een Timeout instellen om de maximale tijd te definiëren die wordt gewacht totdat het proces is voltooid (standaard 10 seconden).

 

Voorbeeld: verbinding maken met de server en maximaal 5 seconden wachten


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

Als de Connect()-methode een succesvol resultaat retourneert, kunt u al een bericht naar de server sturen omdat de verbinding actief is.

 

 

Voorbeeld: verbinding met server verbreken en tot 10 seconden wachten


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

Als de methode Disconnect() een succesvol resultaat retourneert, betekent dit dat de verbinding al is gesloten.

 

Het evenement OnBeforeConnect kan worden gebruikt om de serververbindingseigenschappen aan te passen voordat de client verbinding probeert te maken.