none
direccion ip RRS feed

  • Pregunta

  • Cuando tienes varias tarjetas de red o usas Virtualización. ¿Cómo puedes saber la dirección IP de tu equipo?. Hasta ahora usaba este código.

                Dim NombreEquipo As String = Dns.GetHostName()
                Return Dns.GetHostEntry(NombreEquipo).AddressList(0).ToString

    Pero el problema es que esto me devuelve la primera direccion del array y no siempre es la ip correcta.

    Salu2


    nunca te acostarás sin saber una cosa más

    sábado, 10 de marzo de 2012 22:06

Respuestas

  • hola

    y algo como ser

    Dim hostEntry = Dns.GetHostEntry(Dns.GetHostName())
    Dim ip = (From addr In hostEntry.AddressList _
                     Where addr.AddressFamily = AddressFamily.InterNetwork _
                     Select addr.ToString()).FirstOrDefault()

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    sábado, 10 de marzo de 2012 23:07

Todas las respuestas

  • Puedes obtener todas las direcciones IP de un equipo por mediación de WMI:

    Dim objSearcher As New ManagementObjectSearcher( _

    "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'")

    Dim objCollection As ManagementObjectCollection = objSearcher.[Get]()
    For Each obj As ManagementObject In objCollection Dim AddressList As String() = DirectCast(obj("IPAddress"), String()) For Each Address As String In AddressList MessageBox.Show(Address) Next Next



    sábado, 10 de marzo de 2012 22:29
  • El tema es que tengo una bbdd donde guardo la dirección IP del equipo (192.168.1.3) que es la conexión de red de área local. Y ambas funciones me devuelven una colección de direcciones IP, así que no puedo compararlo con lo que tengo en la bbdd.

    nunca te acostarás sin saber una cosa más

    sábado, 10 de marzo de 2012 22:41
  • hola

    y algo como ser

    Dim hostEntry = Dns.GetHostEntry(Dns.GetHostName())
    Dim ip = (From addr In hostEntry.AddressList _
                     Where addr.AddressFamily = AddressFamily.InterNetwork _
                     Select addr.ToString()).FirstOrDefault()

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    sábado, 10 de marzo de 2012 23:07
  • No me da el resultado esperado...


    nunca te acostarás sin saber una cosa más

    sábado, 10 de marzo de 2012 23:26
  • el FirstOrDefault() va por fiera del parentesis

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    domingo, 11 de marzo de 2012 1:28