TsgcWebSocketClient › Métodos › ConnectTask
Abre la conexión WebSocket en una tarea en segundo plano y devuelve un manejador IsgcTask que puede esperarse, encadenarse o cancelarse.
function ConnectTask(const aTimeout: Integer = 10000): IsgcTask;
| Nombre | Tipo | Descripción |
|---|---|---|
aTimeout | const Integer | Tiempo máximo en milisegundos para esperar a que la conexión se active. El valor predeterminado es 10000 (10 segundos). |
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.
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.
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);