TsgcWebSocketClient메서드 › Connect

Connect 메서드

WebSocket 연결을 동기적으로 열고 핸드셰이크가 완료되거나 타임아웃이 경과할 때까지 호출자를 차단합니다.

구문

function Connect(const aTimeout: Integer = 10000): Boolean; overload;
function Connect(out AError: string; const aTimeout: Integer = 10000): Boolean; overload;

Parameters

NameType설명
AErrorout string메서드가 실패하면 연결 오류에 대한 설명을 반환하고, 성공하면 빈 문자열을 반환합니다. 같은 텍스트는 이후 LastError에서도 확인할 수 있습니다.
aTimeoutconst Integer연결이 활성화될 때까지 대기하는 최대 시간(밀리초)입니다. 기본값은 10000(10초)입니다.

반환 값

클라이언트가 연결되어 있고 WebSocket 핸드셰이크가 시간 초과 내에 완료된 경우 True이고, 그렇지 않으면 False입니다(Boolean).

설명

Connect는 Active := True 설정의 차단(blocking) 방식 대응 메서드입니다. 내부적으로 Active를 설정한 다음 연결이 수립되거나 타임아웃이 만료될 때까지 내부 이벤트에서 대기합니다. 클라이언트가 이미 연결되어 있으면 메서드는 즉시 True를 반환합니다. 함수가 True를 반환하면 OnConnect를 기다리지 않고 곧바로 WriteData를 호출해도 안전합니다. 보조 스레드에서 연결하는 논블로킹 호출이 필요하면 Start를, 퓨처 방식 논블로킹 연결(Delphi 2010+)이 필요하면 ConnectTask를 사용하십시오.

out AError 매개변수가 있는 오버로드는 동일하게 동작하지만 실패한 시도의 원인을 추가로 반환하므로, 연결이 성공하지 못한 이유를 알기 위해 이벤트 핸들러가 필요하지 않습니다. LastError는 각 시도 전에 지워지며 이후 같은 텍스트를 보관합니다.

예제


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

메서드로 돌아가기