Ejemplo n.º 1
0
 private void btnNTP_Click(object sender, EventArgs e)
 {
     // NTP基本操作
     ntp_           = new NTPClient(ip_ntp_);
     tmrNTP.Enabled = true;
     btnNTP.Enabled = false;
 }
Ejemplo n.º 2
0
        public static TimeSpan CheckTimeDelay()
        {
            NTPClient ntpClient = new NTPClient(Settings.Default.TimeServer);

            ntpClient.Connect(false);
            TimeSpan delay = TimeSyncHandler.Raw - ntpClient.TransmitTimestamp;

            return(delay);
        }
Ejemplo n.º 3
0
        public void ConnectNTP(String ip, int port)
        {
            NTPClient client;

            try
            {
                client = new NTPClient(ip, port);
                client.Connect(false);
            }
            catch (Exception e)
            {
                Console.WriteLine("ERROR: {0}", e.Message);
            }
        }
Ejemplo n.º 4
0
 private void tmrNTP_Tick(object sender, EventArgs e)
 {
     // NTP, 定时计算本地时钟偏差
     try
     {
         ntp_.Connect(false);
     }
     catch (SocketException ex)
     {
         txtLog.AppendLine(ex.Message);
         tmrNTP.Enabled = false;
         btnNTP.Enabled = true;
         ntp_           = null;
     }
 }
Ejemplo n.º 5
0
        private static void SyncTimeThread(object state)
        {
            NTPClient ntpClient = new NTPClient(Settings.Default.TimeServer);

            ntpClient.Connect(true);             // When set to false systemtime will remains as it was. DS-Timer still works correct!
            m_Offset = DateTime.Now - ntpClient.TransmitTimestamp;

            if (SyncDone != null)
            {
                SyncDone.Invoke(null, EventArgs.Empty);
            }
            // TickCount Method
            //m_LastSync = ntpClient.TransmitTimestamp;
            //m_BaseTickCount = SystemTickCount;
        }
Ejemplo n.º 6
0
        private void StartNTP(object s, EventArgs e)
        {
            TcpClient t;

            if (m_dicCurrentConnections.ContainsKey(Thread.CurrentThread.ManagedThreadId))
            {
                m_dicCurrentConnections.TryGetValue(Thread.CurrentThread.ManagedThreadId, out t);
                string ip = t.Client.RemoteEndPoint.ToString().Split(":".ToCharArray()[0])[0];



                NTPClient ntpClient = new NTPClient(ip, AirPlayHandler.NTP_PORT);

                ntpClient.Connect(false);
            }
        }
Ejemplo n.º 7
0
    public static int Main(string[] args)
    {
        NTPClient client;

        try {
            client = new NTPClient(TimeServer, 10000, 2000);
        }
        catch (Exception e)
        {
            Console.WriteLine("ERROR: {0}", e.Message);
            return(-1);
        }

        var offsets = new List <long>();

        for (int i = 0; i < 10; ++i)
        {
            try
            {
                client.Connect(false);
                if (i != 0)
                {
                    offsets.Add(client.LocalClockOffset);
                }
                Console.WriteLine(i + " " + client.LocalClockOffset);
            }
            catch (Exception e)
            {
                Console.WriteLine("ERROR: {0}", e.Message);
            }

            if (i % 10 == 0 && offsets.Count > 0)
            {
                Console.WriteLine("Avg offset {0}ms from {1} records", 1.0 * offsets.Average() / TimeSpan.TicksPerMillisecond, offsets.Count);
            }
        }

        return(0);
    }
Ejemplo n.º 8
0
        private static LoginTickets GetLoginTicket(Empresas empresa)
        {
            LoginTickets result = null;
            string       ntpServer;
            NTPClient    ntp;

            if (loginTicketsBL != null)
            {
                result    = loginTicketsBL.GetCurrentLoginTicket(empresa);
                ntpServer = GeneralSettings.Instance.NTPServer;
            }
            if (result == null)
            {
                //Sincronización de reloj por NTP
                ntp = new NTPClient("time.afip.gov.ar");
                ntp.Connect(true);

                XmlDocument         xmlDocument;
                LoginTicketRequests loginTicketRequest;
                //Generacion del Ticket de Requerimiento de Acceso
                if (loginTicketRequestsBL != null)
                {
                    loginTicketRequest = loginTicketRequestsBL.GenerateLoginTicket(empresa);
                    xmlDocument        = loginTicketRequestsBL.GenerateLoginTicketRequestXML(loginTicketRequest);
                }
                else
                {
                    loginTicketRequest = new LoginTicketRequests(empresa);
                    xmlDocument        = GenerateLoginTicketRequestXML(loginTicketRequest);
                }
                // Conversion del XML a bytes
                StringWriter sw = new StringWriter();
                xmlDocument.WriteTo(new XmlTextWriter(sw));
                byte[] loginTicketRequestXml = new ASCIIEncoding().GetBytes(sw.ToString());

                //Firma del Ticket de Requerimiento de Acceso
                X509Certificate2 certOrigen            = GetSenderCertificate(empresa);
                byte[]           loginTicketRequestCMS = Sign(loginTicketRequestXml, certOrigen);

                //Codificacion a base 64
                //string loginTicketRequestBase64 = Convert.ToBase64String(encryptedTicket);
                string loginTicketRequestBase64 = Convert.ToBase64String(loginTicketRequestCMS);

                //Transmisión del Ticket de Requerimiento de Acceso al WSAA
                LoginCMSService loginService = new LoginCMSService();
                ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);
                string loginServiceResponse = loginService.loginCms(loginTicketRequestBase64);

                //Extracción del Ticket de Acceso devuelto por el WSAA
                XmlDocument loginTicketXml = new XmlDocument();
                loginTicketXml.LoadXml(loginServiceResponse);
                if (loginTicketRequestsBL != null)
                {
                    result = loginTicketsBL.GetLoginTicketFromXML(loginTicketXml, loginTicketRequest);
                }
                else
                {
                    result = GetLoginTicketFromXML(loginTicketXml, null);
                }
            }
            return(result);
        }