TsgcWebSocketClientMétodos › Connect

Connect Method

Abre a conexão WebSocket de forma síncrona e bloqueia o chamador até que o handshake seja concluído ou o tempo limite expire.

Sintaxe

function Connect(const aTimeout: Integer = 10000): Boolean; overload;
function Connect(out AError: string; const aTimeout: Integer = 10000): Boolean; overload;

Parâmetros

NameTypeDescrição
AErrorout stringRetorna a descrição do erro de conexão quando o método falha, ou uma string vazia em caso de sucesso. O mesmo texto fica disponível posteriormente em LastError.
aTimeoutconst IntegerTempo máximo em milissegundos para aguardar até que a conexão se torne ativa. O padrão é 10000 (10 segundos).

Valor de retorno

True quando o cliente está conectado e o handshake do WebSocket foi concluído dentro do timeout; False caso contrário. (Boolean)

Observações

Connect é a contraparte bloqueante de definir Active := True. Ele define Active internamente e depois aguarda em um evento interno até que a conexão seja estabelecida ou o tempo limite expire. Se o cliente já estiver conectado, o método retorna True imediatamente. Quando a função retorna True, é seguro chamar WriteData imediatamente, sem esperar por OnConnect. Use Start se precisar de uma chamada não bloqueante que conecta a partir de uma thread secundária, ou ConnectTask para uma conexão não bloqueante no estilo future (Delphi 2010+).

A sobrecarga com um parâmetro out AError se comporta de forma idêntica, mas retorna adicionalmente o motivo de uma tentativa falha, de modo que nenhum manipulador de eventos é necessário para saber por que a conexão não teve êxito. LastError é limpo antes de cada tentativa e contém o mesmo texto depois.

Exemplo


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');

Voltar para Métodos