TsgcWebSocketClient메서드 › ConnectTask

ConnectTask 메서드

백그라운드 태스크에서 WebSocket 연결을 열고 대기(await), 연쇄(chain) 또는 취소할 수 있는 IsgcTask 핸들을 반환합니다.

구문

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

Parameters

NameType설명
aTimeoutconst Integer연결이 활성화될 때까지 대기하는 최대 시간(밀리초)입니다. 기본값은 10000(10초)입니다.

반환 값

대기 중인 연결 시도에 대한 IsgcTask 핸들입니다. 완료될 때까지 차단하려면 Await를, 성공 시 컨티뉴에이션을 실행하려면 ThenProc을, 오류를 처리하려면 OnError를, 중단하려면 Cancel을 호출하십시오. IsCompleted, IsCancelled, State가 진행 상태를 보고합니다.

설명

ConnectTask는 Connect의 퓨처(future) 방식 대응 메서드입니다. 차단되는 연결 작업을 백그라운드 스레드에서 실행하고 즉시 반환하므로 호출 스레드가 차단되지 않습니다. aTimeout 안에 연결을 수립하지 못하면 태스크는 EsgcAsyncException과 함께 실패하고 OnError 컨티뉴에이션이 실행됩니다. 반환된 태스크에서 Cancel을 호출하면 클라이언트 연결이 끊어지므로 진행 중이던 연결 시도는 끝까지 실행되지 않고 중단됩니다. Delphi 2010 이상(및 C++Builder 2010 이상)이 필요하며 .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);

메서드로 돌아가기