public static List <string> GetCurrentConnectedServerInfo() { try { List <string> info = new List <string>(); NtpResponse response = connectedNtpServer.GetTime(); NtpPacket packet = response.Packet; string l1, l2, s1, s2; l1 = packet.OriginateTimestamp.ToString() + ":" + packet.OriginateTimestamp.Microsecond.ToString(); l2 = packet.DestinationTimestamp.ToUniversalTime().ToString() + ":" + packet.OriginateTimestamp.Microsecond.ToString(); s1 = packet.ReceiveTimestamp.ToUniversalTime().ToLongTimeString() + ":" + packet.ReceiveTimestamp.Microsecond; s2 = packet.TransmitTimestamp.ToUniversalTime().ToLongTimeString() + ":" + packet.TransmitTimestamp.Microsecond; info.Add($"Request sent at: {l1} UTC" + $" and received response at {l2} UTC"); info.Add($"Currently connected server ({ServerChooser.FinalServerAddress}) has stratum {packet.Stratum} and runs NTP version {packet.VersionNumber.ToString()}"); info.Add($"Choosed server received our request at {s1} UTC and sent response at {s2} UTC"); return(info); } catch (Exception ex) { MessageBox.Show("An error has occurred, please try to connect again!\n" + "Error message: " + ex.Message); return(new List <string>()); } }
public void TestTime() { const int i = 1544520933; var time = Ntp.GetTime($@"{i}").ToLocalTime(); Console.WriteLine(time.ToString(CultureInfo.CurrentCulture)); var ans = new DateTime(2018, 12, 11, 17, 35, 33); Assert.AreEqual(ans, time); }
public virtual void Parse(string jsonStr) { dynamic s = SimpleJson.SimpleJson.DeserializeObject(jsonStr); ErrorCode = Convert.ToInt64(s[@"error_code"]); if (ErrorCode != 0) { ErrorMsg = s[@"error_msg"]; } Time = Ntp.GetTime(Convert.ToString(s[@"time"])).ToLocalTime(); }
public override void Parse(string jsonStr) { base.Parse(jsonStr); if (ErrorCode == 0) { dynamic s = SimpleJson.SimpleJson.DeserializeObject(jsonStr); LevelName = s[@"user_info"][@"level_name"]; SignTime = Ntp.GetTime(Convert.ToString(s[@"user_info"][@"sign_time"])).ToLocalTime(); SignBonusPoint = s[@"user_info"][@"sign_bonus_point"]; UserId = s[@"user_info"][@"user_id"]; MissSignNum = s[@"user_info"][@"miss_sign_num"]; ContSignNum = s[@"user_info"][@"cont_sign_num"]; UserSignRank = s[@"user_info"][@"user_sign_rank"]; } }
public override void Parse(string jsonStr) { base.Parse(jsonStr); if (ErrorCode == 0) { dynamic s = SimpleJson.SimpleJson.DeserializeObject(jsonStr); var list = s[@"forum_list"]; Forums.Clear(); foreach (var forum in list) { Forums.Add(Forum.Parse(forum.ToString())); } Tbs = s[@"anti"][@"tbs"]; Time = Ntp.GetTime(Convert.ToString(s[@"time"])).ToLocalTime(); } }