TsgcWebSocketClientMétodos › ConnectTask

ConnectTask Método

Abre la conexión WebSocket en una tarea en segundo plano y devuelve un manejador IsgcTask que puede esperarse, encadenarse o cancelarse.

Sintaxis

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

Parámetros

NombreTipoDescripción
aTimeoutconst IntegerTiempo máximo en milisegundos para esperar a que la conexión se active. El valor predeterminado es 10000 (10 segundos).

Valor de Retorno

Un manejador IsgcTask para el intento de conexión pendiente. Llame a Await para bloquear hasta que termine, a ThenProc para ejecutar una continuación en caso de éxito, a OnError para gestionar los fallos y a Cancel para abortar. IsCompleted, IsCancelled y State informan del progreso.

Observaciones

ConnectTask es la contrapartida de estilo future de Connect: ejecuta la conexión bloqueante en un hilo en segundo plano y retorna de inmediato, por lo que el hilo llamante nunca se bloquea. Si la conexión no puede establecerse dentro de aTimeout, la tarea falla con EsgcAsyncException y se ejecuta la continuación OnError. Llamar a Cancel sobre la tarea devuelta desconecta el cliente, por lo que un intento de conexión aún en curso se aborta en lugar de ejecutarse hasta el final. Requiere Delphi 2010 o posterior (y C++Builder 2010 o posterior); no está disponible en la edición .NET.

Ejemplo


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

Volver a Métodos