TsgcWebSocketClient | Client Open Connection

Depois que seu cliente está configurado para se conectar a um servidor, há 3 opções diferentes para abrir uma nova conexão.

 

Propriedade Active

A maneira mais fácil de abrir uma nova conexão é definir a propriedade Active como true. Isso tentará conectar ao servidor usando a configuração do componente.

Se você definir a propriedade Active como false, ela fechará a conexão se estiver ativa.

Este método é executado na mesma thread que o chamador. Portanto, se você o chamar a partir da Main Thread, o método será executado na Main Thread da aplicação.

 

Open Connection


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

Quando você chama Active = true, você ainda não pode enviar nenhum dado ao servidor porque o cliente ainda pode estar conectando. Você deve primeiro aguardar até que o evento OnConnect seja disparado e, então, pode começar a enviar mensagens ao servidor.

 

 

Close Connection


oClient.Active := false;

Quando você chama Active = false, você não pode ter certeza de que a conexão já foi fechada logo após esse código, portanto você deve aguardar até que o evento OnDisconnect seja disparado.

 

 

Métodos Start/Stop

Quando você chama Start() ou Stop() para conectar/desconectar do servidor, a chamada é executada em uma thread secundária, de modo que não bloqueia a thread onde ela é chamada. Utilize este método se você quiser conectar a um servidor e deixar o seu código abaixo continuar.

 

Open Connection


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

Quando você chama Start(), você ainda não pode enviar nenhum dado ao servidor porque o cliente pode ainda estar conectando. Você deve primeiro aguardar até que o evento OnConnect seja disparado, e então pode começar a enviar mensagens ao servidor.

 

Close Connection


oClient.Stop();

Quando você chama Stop(), você não pode ter certeza de que a conexão já está fechada logo após este código, portanto você deve aguardar até que o evento OnDisconnect seja disparado.

 

 

Métodos Connect/Disconnect

Quando você chama Connect() ou Disconnect() para abrir/fechar uma conexão com o servidor, a chamada é executada na mesma thread onde é chamada, mas aguarda até que o processo seja concluído. Você deve definir um Timeout para definir o tempo máximo a aguardar até que o processo seja concluído (por padrão 10 segundos).

 

Exemplo: conectar ao servidor e aguardar até 5 segundos


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

Se o método Connect() retornar um resultado bem-sucedido, você já pode enviar uma mensagem ao servidor porque a conexão está ativa.

 

 

Exemplo: desconectar do servidor e aguardar até 10 segundos


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

Se o método Disconnect() retornar um resultado bem-sucedido, isso significa que a conexão já está fechada.

 

O evento OnBeforeConnect pode ser utilizado para personalizar as propriedades de conexão do servidor antes de o cliente tentar conectar a ele.