Beispiel #1
0
        /// <summary>
        /// Cuando se manda a llamar este evento al presionar el boton bt_ipv6_dirrecion_actualizar
        /// se desea reactualizar las dirreciones sea con una nueva oferta de DHCP o con
        /// una rneovacion a la dirrecion enlace local.
        /// NOTA: Como IPv6 puede causar mucho revuelo se ejecutara un RESET antes de estos comandos.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bt_ipv6_dirrecion_actualizar_Click(object sender, EventArgs e)
        {
            BoxInterfasesRedes bxInterfas = (BoxInterfasesRedes)box_lista_interfases.SelectedItem;

            //En teoria solo debe de pasar con dos posibilidades, pero nos aseugramos
            //de que solo sea en esos dos casos.
            if (!((rd_ipv6_dhcp.Checked) || (rd_ipv6_plugplay.Checked)))
            {
                return;
            }

            if (rd_ipv6_dhcp.Checked)
            {
                ValidarOperacionInterfas(bxInterfas.setNewDHCPClient(false));
            }
            else if (rd_ipv6_plugplay.Checked)
            {
                ValidarOperacionInterfas(bxInterfas.SetIPv6_PlugPlay());
            }

            //En ambos casos se recomienda esperar algo de tiempo...
            //Plug&Play requiere los mensajes de NDP, DHCPv6 requiere respuesta del servidor
            Contador.Tick += new EventHandler(Tick_RefreshInterface); // Everytime timer ticks, timer_Tick will be called
            //Contador.Interval = (1000) * (1);              // Timer will tick evert second
            Contador.Enabled = true;                                  // Enable the timer
            Contador.Start();                                         // Start the timer
        }
Beispiel #2
0
        /// <summary>
        /// Cuando el usuario da clic en el boton ipv4_bt_dhcprenew el objetivo es renovar
        /// la IP con una nueva solicitud desde un cliente DHCP. Por medio de Netsh se hara tal cosa.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ipv4_bt_dhcprenew_Click(object sender, EventArgs e)
        {
            BoxInterfasesRedes bxInterfas = (BoxInterfasesRedes)box_lista_interfases.SelectedItem;

            //Aunque se supone que solo se puede dar  clic cuando el boton esta disponible
            //garantizamos que sea cuando el usuario esta trabajando con IPv4 dinamica.
            if (!ipv4_dinamica.Checked)
            {
                return;
            }

            ValidarOperacionInterfas(bxInterfas.setNewDHCPClient(true));

            //NOTA: Aqui suelen morir los que solo programan Software... el comando se ejecuta
            // en nanosegundos, pero obviamente la respuesta del servidor llegara en milisegundos
            // DEBEMOS ESPERAR para obtener una respuesta satisfactoria.
            Contador.Tick += new EventHandler(Tick_RefreshInterface); // Everytime timer ticks, timer_Tick will be called
            //Contador.Interval = (1000) * (1);              // Timer will tick evert second
            Contador.Enabled = true;                                  // Enable the timer
            Contador.Start();                                         // Start the timer
        }