TsgcWebSocketClientMétodos › ConnectTask

ConnectTask Método

Abre a conexão WebSocket em uma tarefa em segundo plano e retorna um identificador IsgcTask que pode ser aguardado, encadeado ou cancelado.

Sintaxe

function ConnectTask(const aTimeout: Integer = 10000): IsgcTask;

Parâmetros

NameTypeDescrição
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

Um identificador IsgcTask para a tentativa de conexão pendente. Chame Await para bloquear até que ela termine, ThenProc para executar uma continuação em caso de sucesso, OnError para tratar falhas e Cancel para abortar. IsCompleted, IsCancelled e State informam o progresso.

Observações

ConnectTask é a contraparte no estilo future de Connect: ele executa a conexão bloqueante em uma thread em segundo plano e retorna imediatamente, de modo que a thread chamadora nunca é bloqueada. Se a conexão não puder ser estabelecida dentro de aTimeout, a tarefa falha com EsgcAsyncException e a continuação OnError é executada. Chamar Cancel na tarefa retornada desconecta o cliente, de modo que uma tentativa de conexão ainda em andamento é abortada em vez de ser executada até o fim. Requer Delphi 2010 ou posterior (e C++Builder 2010 ou posterior); não está disponível na edição .NET.

Exemplo


oClient := TsgcWebSocketClient.Create(nil);
oClient.URL := 'wss://www.esegece.com:2053';
oClient.ConnectTask(5000)
  .ThenProc(procedure
    begin
      oClient.WriteData('Hello from client');
    end)
  .OnError(procedure(E: Exception)
    begin
      ShowMessage('Connection failed: ' + E.Message);
    end);

Voltar para Métodos