private async void getCentralTime() { //Get the Real Time, only try three times for (int i = 0; i < 3; ++i) { try { while (true) { var client = new Yort.Ntp.NtpClient(); var currentTime = await client.RequestTimeAsync(); if (currentTime != null) { Debug.WriteLine(currentTime); deviceStartTime = DateTime.UtcNow; realStartTime = (DateTime)currentTime; break; } } Debug.WriteLine("Try to get NTP time succeed"); break; } catch { Debug.WriteLine("Try to get NTP time failed."); } } }
public async Task WinRT_NtpClient_DefaultServer_GetAsyncReturnsResponse() { var client = new Yort.Ntp.NtpClient(); var result = await client.RequestTimeAsync(); Assert.AreNotEqual(DateTime.Now, result.NtpTime); Assert.AreEqual(DateTimeKind.Utc, result.ReceivedAt.Kind); }
public static void GetDate() { try { while (true) { var client = new Yort.Ntp.NtpClient("0.europe.pool.ntp.org"); CurrentTime = client.RequestTimeAsync().Result; Console.WriteLine(CurrentTime); Thread.Sleep(1000); } } catch (Exception) { GetDate(); } }
public async Task WinRT_NtpClient_DefaultServer_ClientCanBeReused() { int successCount = 0; var client = new Yort.Ntp.NtpClient(); for (int cnt = 0; cnt < 100; cnt++) { try { var currentTime = await client.RequestTimeAsync(); successCount++; Assert.AreNotEqual(DateTime.Now, currentTime); await Task.Delay(500); } catch (NtpNetworkException) { } } Assert.AreNotEqual(0, successCount); }
public async Task InitializeNtp() { try { string randomServer = NtpServers[new Random().Next(NtpServers.Count)]; Debug.WriteLine($"Starting NTP client: {randomServer}"); var client = new Yort.Ntp.NtpClient(randomServer); CurrentNtpTime = await client.RequestTimeAsync(); Debug.WriteLine($"Received time: {CurrentNtpTime}"); CurrentNtpTimeBase = DateTimeOffset.UtcNow; DifferenceBetweenNtpAndSystem = CurrentNtpTimeBase - CurrentNtpTime; Debug.WriteLine($"System-NTP Diff: {DifferenceBetweenNtpAndSystem}"); } catch (Exception ex) { Debug.WriteLine($"Could not receive time: {ex}"); } }
public async void SyncTime() { _Client = _Client ?? new NtpClient(); try { IsBusy = true; LastError = null; NtpDateTime = await _Client.RequestTimeAsync(); } catch (Exception ex) { LastError = ex.ToString(); } finally { IsBusy = false; } }
public async Task WinRT_NtpClient_DefaultServer_ClientCanBeReused() { int successCount = 0; var client = new Yort.Ntp.NtpClient(); for (int cnt = 0; cnt < 100; cnt++) { try { var result = await client.RequestTimeAsync(); successCount++; Assert.AreNotEqual(DateTime.Now, result.NtpTime); await Task.Delay(500); } catch (NtpNetworkException) { } } Assert.AreNotEqual(0, successCount); }
public async void StartTimeSync() { ntpClient = new Yort.Ntp.NtpClient(_serverAddress); _accurateTime = await ntpClient.RequestTimeAsync(); }
public async Task WinRT_NtpClient_DefaultServer_GetAsyncReturnsResponse() { var client = new Yort.Ntp.NtpClient(); var currentTime = await client.RequestTimeAsync(); Assert.AreNotEqual(DateTime.Now, currentTime); }