none
Obtener dirección ip en vb.net RRS feed

  • Debate general

  • Hola Amigos estoy gracias a todos por sus ayudas. Lo que sucede es que ya tengo el codigo para obtener la direccion ip en VB.net sin embargo en visual studio me marca el codigo como obsoleto(probablemente porque habran mejorado sus funciones). La cuestion es que me funciona perfectamente y pues no se si ese "obsoleto que marca VB.net" puede fallar. Por eso espero que me ayuden o me aconsejen a complementar el codigo o si esta bien.

    Private Function dameIP() As String
    
            Dim ip As Net.Dns
            Dim nombrePC As String
            Dim entradasIP As Net.IPHostEntry
    
            nombrePC = Dns.GetHostName
    
            entradasIP = Dns.GetHostByName(nombrePC)
    
            Dim direccion_Ip As String = entradasIP.AddressList(0).ToString
    
            Return direccion_Ip
    
        End Function
    ------------//------------//--------------//------------
    
    
    .... Label4.text = dameIP()

    lunes, 6 de mayo de 2013 13:30

Todas las respuestas

  • Gracias Sr Muñoz.ya lo intente con los tres enlaces pero el unico que funciona es el que coloque en mi codigo, sin embargo la pregunta fue otra. Saber si ese codigo que coloque puede fallar en algunas ocasiones por obsoleto???
    lunes, 6 de mayo de 2013 14:18
  • Hola Gringo92,

    VS te marca este metodo : Dns.GetHostByName(nombrePC) como obsoleto pero te aconseja que uses a cambio otro que está mejorado ¿porqué no lo haces?

    Intenta:  entradasIP = Dns.GetHostEntry(nombrePC)   (esto es lo que te aconsejan... :-))

    http://msdn.microsoft.com/en-us/library/system.net.dns.gethostbyname(v=vs.100).aspx

    También puedes optar por:  Dns.GetHostAddresses(nombrePC), este te devuelve un array de direcciones de tipo IPAddress... 

    http://msdn.microsoft.com/en-us/library/system.net.dns.gethostaddresses.aspx

    Saludos,


    Danicuco - 2013

    lunes, 6 de mayo de 2013 19:08
  • Hola:
    Tienes que agregar una referencia a ystem.Management
    En un Form con 1 label, copia y pega el siguiente codigo

    Imports System.Management

    Public Class Form1

        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Me.Label1.Text = lF_sDireccionIP(My.Computer.Name)
        End Sub

        Private Function lF_sDireccionIP(ByVal strNombrePC As String) As String
            Dim query As New System.Management.ManagementObjectSearcher("Select * From WIN32_NetworkAdapterConfiguration Where IPEnabled = 'TRUE'")
            Dim queryCollection As System.Management.ManagementObjectCollection = query.Get()
            Dim mo As New System.Management.ManagementObject
            Dim strIPAddress As String = ""
            For Each mo In queryCollection
                Dim strAddresses() As String = CType(mo("IPAddress"), String())
                For Each strIPAddress In strAddresses
                    Exit For
                Next
                If strIPAddress <> "" Then Exit For
            Next
            '--Liberando Memoria--
            query.Dispose()
            query = Nothing
            queryCollection.Dispose()
            queryCollection = Nothing
            mo.Dispose()
            mo = Nothing
            '---------------------
            Return strIPAddress
        End Function
    End Class

    Un saludo desde Bilbo
    Carlos

    martes, 7 de mayo de 2013 8:04
  • Dim searcher As New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    
         For Each queryObj As ManagementObject In searcher.Get()
    
    Label1.Text = IPAddress 

    martes, 7 de mayo de 2013 20:22
  • Muchas gracias Carlos......
    jueves, 17 de septiembre de 2015 21:38