TsgcWebSocketClient | Apertura de conexión del cliente

Una vez que su cliente está configurado para conectarse a un servidor, hay 3 opciones diferentes para abrir una nueva conexión.

 

Propiedad Active

La forma más sencilla de abrir una nueva conexión es establecer la propiedad Active en true. Esto intentará conectarse al servidor utilizando la configuración del componente.

Si establece la propiedad Active en false, cerrará la conexión si está activa.

Este método se ejecuta en el mismo hilo que el llamador. Por tanto, si lo invoca desde el hilo principal, el método se ejecutará en el hilo principal de la aplicación.

 

Abrir conexión


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

Cuando llama a Active = true, todavía no puede enviar datos al servidor porque el cliente puede estar aún conectándose. Primero debe esperar hasta que se active el evento OnConnect y, a continuación, podrá comenzar a enviar mensajes al servidor.

 

 

Cerrar conexión


oClient.Active := false;

Cuando llama a Active = false, no puede estar seguro de que la conexión ya esté cerrada justo después de este código, por lo que debe esperar hasta que se dispare el evento OnDisconnect.

 

 

Métodos Start/Stop

Cuando llama a Start() o Stop() para conectarse/desconectarse del servidor, la llamada se ejecuta en un hilo secundario, por lo que no bloquea el hilo desde el que se invoca. Utilice este método si desea conectarse a un servidor y permitir que su código continúe a continuación.

 

Abrir conexión


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

Cuando llama a Start(), todavía no puede enviar datos al servidor porque el cliente puede estar aún conectándose. Primero debe esperar hasta que se active el evento OnConnect y, a continuación, puede comenzar a enviar mensajes al servidor.

 

Cerrar conexión


oClient.Stop();

Cuando llama a Stop(), no puede estar seguro de que la conexión ya esté cerrada justo después de este código, por lo que debe esperar hasta que se active el evento OnDisconnect.

 

 

Métodos Connect/Disconnect

Cuando se llama a Connect() o Disconnect() para abrir/cerrar una conexión con el servidor, la llamada se ejecuta en el mismo hilo donde se invoca, pero espera hasta que el proceso finalice. Debe establecer un Timeout para definir el tiempo máximo de espera hasta que el proceso finalice (por defecto, 10 segundos).

 

Ejemplo: conectar al servidor y esperar hasta 5 segundos


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

Si el método Connect() devuelve un resultado exitoso, ya puede enviar un mensaje al servidor porque la conexión está activa.

 

 

Ejemplo: desconectarse del servidor y esperar hasta 10 segundos


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

Si el método Disconnect() devuelve un resultado satisfactorio, significa que la conexión ya está cerrada.

 

OnBeforeConnect el evento se puede usar para personalizar las propiedades de conexión del servidor antes de que el cliente intente conectarse a él.