TsgcWebSocketClient › Métodos › Connect
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.
function Connect(const aTimeout: Integer = 10000): Boolean; overload;
function Connect(out AError: string; const aTimeout: Integer = 10000): Boolean; overload;
| Name | Type | Descrição |
|---|---|---|
AError | out string | Retorna 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. |
aTimeout | const Integer | Tempo máximo em milissegundos para aguardar até que a conexão se torne ativa. O padrão é 10000 (10 segundos). |
True quando o cliente está conectado e o handshake do WebSocket foi concluído dentro do timeout; False caso contrário. (Boolean)
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.
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');