TsgcWebSocketClient › Yöntemler › ConnectTask
WebSocket bağlantısını bir arka plan görevinde açar ve beklenebilen (await), zincirlenebilen veya iptal edilebilen bir IsgcTask tanıtıcısı döndürür.
function ConnectTask(const aTimeout: Integer = 10000): IsgcTask;
| Name | Type | Açıklama |
|---|---|---|
aTimeout |
const Integer | Bağlantının etkin hale gelmesini beklemek için milisaniye cinsinden maksimum süre. Varsayılan olarak 10000 (10 saniye). |
Bekleyen bağlantı denemesi için bir IsgcTask tanıtıcısı. Bitene kadar engellemek için Await, başarı durumunda bir devam işlemi çalıştırmak için ThenProc, hataları işlemek için OnError, iptal etmek için Cancel çağırın. IsCompleted, IsCancelled ve State ilerlemeyi bildirir.
ConnectTask, Connect yönteminin future tarzı karşılığıdır: engelleyen bağlanma işlemini bir arka plan iş parçacığında çalıştırır ve hemen döner, bu nedenle çağıran iş parçacığı hiçbir zaman engellenmez. Bağlantı aTimeout içinde kurulamazsa görev EsgcAsyncException ile başarısız olur ve OnError devam işlemi çalışır. Döndürülen görevde Cancel çağrılması istemcinin bağlantısını keser; böylece devam etmekte olan bir bağlantı denemesi tamamlanmak yerine iptal edilir. Delphi 2010 veya üzeri (ve C++Builder 2010 veya üzeri) gerektirir; .NET sürümünde kullanılamaz.
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);