TsgcWebSocketClient › Yöntemler › Connect
WebSocket bağlantısını senkron olarak açar ve handshake tamamlanana veya zaman aşımı geçene kadar çağıranı engeller.
function Connect(const aTimeout: Integer = 10000): Boolean; overload;
function Connect(out AError: string; const aTimeout: Integer = 10000): Boolean; overload;
| Name | Type | Açıklama |
|---|---|---|
AError | out string | Yöntem başarısız olduğunda bağlantı hatasının açıklamasını, başarılı olduğunda ise boş bir dize döndürür. Aynı metne daha sonra LastError üzerinden de erişilebilir. |
aTimeout |
const Integer | Bağlantının etkin hale gelmesini beklemek için milisaniye cinsinden maksimum süre. Varsayılan olarak 10000 (10 saniye). |
İstemci bağlandığında ve WebSocket handshake'i zaman aşımı içinde tamamlandığında True; aksi takdirde False. (Boolean)
Connect, Active := True atamasının engelleyen (blocking) karşılığıdır. Dahili olarak Active'i ayarlar ve ardından bağlantı kurulana veya zaman aşımı dolana kadar dahili bir olay üzerinde bekler. İstemci zaten bağlıysa yöntem hemen True döndürür. İşlev True döndürdüğünde, OnConnect beklenmeden hemen WriteData çağrılabilir. İkincil bir iş parçacığından bağlanan engellemeyen bir çağrıya ihtiyacınız varsa Start, future tarzı engellemeyen bir bağlantı için ConnectTask kullanın (Delphi 2010+).
out AError parametresine sahip aşırı yükleme aynı şekilde davranır ancak ek olarak başarısız denemenin nedenini döndürür; böylece bağlantının neden başarılı olmadığını öğrenmek için olay işleyicisine gerek kalmaz. LastError her denemeden önce temizlenir ve sonrasında aynı metni tutar.
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');