TsgcWebSocketClientMethods › Connect

Connect Metoda

Otwiera połączenie WebSocket synchronicznie i blokuje wątek wywołujący do czasu zakończenia uzgadniania lub upływu limitu czasu.

Składnia

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

Parametry

NazwaTypOpis
AErrorout stringZwraca opis błędu połączenia, gdy metoda się nie powiedzie, lub pusty ciąg znaków w przypadku powodzenia. Ten sam tekst jest później dostępny w LastError.
aTimeoutconst IntegerMaksymalny czas w milisekundach oczekiwania na aktywację połączenia. Domyślnie wynosi 10000 (10 sekund).

Wartość zwracana

True gdy klient jest połączony i uzgadnianie WebSocket zakończyło się w czasie limitu; False w przeciwnym razie. (Boolean)

Uwagi

Connect jest blokującym odpowiednikiem ustawienia Active := True. Ustawia wewnętrznie Active, a następnie czeka na wewnętrznym zdarzeniu, aż połączenie zostanie nawiązane lub upłynie limit czasu. Jeśli klient jest już połączony, metoda natychmiast zwraca True. Gdy funkcja zwróci True, można od razu bezpiecznie wywołać WriteData, nie czekając na OnConnect. Zamiast tego należy użyć Start, jeśli potrzebne jest nieblokujące wywołanie łączące się z wątku pomocniczego, lub ConnectTask dla nieblokującego połączenia w stylu future (Delphi 2010+).

Przeciążenie z parametrem out AError zachowuje się identycznie, ale dodatkowo zwraca przyczynę nieudanej próby, dzięki czemu żadna procedura obsługi zdarzeń nie jest potrzebna, aby dowiedzieć się, dlaczego połączenie się nie powiodło. LastError jest czyszczone przed każdą próbą i zawiera później ten sam tekst.

Przykład


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

Powrót do metod