Exemplo n.º 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
        }