elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Eliminando ip duplicadas !!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Eliminando ip duplicadas !!  (Leído 2,137 veces)
TrashAmbishion


Desconectado Desconectado

Mensajes: 756


Ver Perfil
Eliminando ip duplicadas !!
« en: 10 Marzo 2020, 08:30 am »

Hola,

Tengo este codigo que me da todas las IPv4 pero necesito eliminar las duplicadas y me da error pues no puede convertir IPAddress to String...

Código
  1.  
  2. Dim myClientMachineAddressList As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())
  3. Dim myClientMachineIP = myClientMachineAddressList.AddressList.Where(Function(a) a.AddressFamily = AddressFamily.InterNetwork).ToArray()
  4.  
  5. 'El codigo para elminar duplicados es el siguiente pero no logro adaptarlo
  6.  
  7. Dim int32List As New List(Of String)
  8.  
  9. int32List = myClientMachineIP.Distinct(EqualityComparer(Of Integer).Default).ToArray
  10.  
  11.  

A lo mejor y puedo hacerlo directo con myClientMachineIP y me evito declarar otra variable.

Saludos y gracias desde ya.


En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 683



Ver Perfil WWW
Re: Eliminando ip duplicadas !!
« Respuesta #1 en: 10 Marzo 2020, 19:45 pm »

Solo tengo una PC, y tengo internet (uso los datos del telefono enlazado a anclaje de red) . por lo tanto solo hay una IP en mi red.

*Deberia Funcionar ya.....  :P

Código
  1. 'obtenemos ip
  2.        Dim myClientMachineAddressList As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())
  3.        Dim myClientMachineIP = myClientMachineAddressList.AddressList.Where(Function(a) a.AddressFamily = AddressFamily.InterNetwork).ToArray
  4.  
  5.        'Eliminamos Duplicados y sobre-escribimos en la misma variable.
  6.        myClientMachineIP = myClientMachineIP.Distinct(EqualityComparer(Of IPAddress).Default).ToArray
  7.  
  8.        'recorremos los duplicados 1 por 1 y los pamos a un textbox (como string) .
  9.        For Each ipadress In myClientMachineIP
  10.            TextBox2.Text = TextBox2.Text & vbNewLine & ipadress.ToString
  11.        Next
  12.  

Bien si te preguntas que estabas haciendo mal. (Realmente no soy bueno explicando)

hay varias cosas que veo mal en tu code.  Por ejemplo:

1) Como puede haber 2 IPs iguales en una misma red?? no deberian haber duplicados , en todo caso, no se si eso pueda pasar.

2) la funcion con la que obtienes las IPs es del tipo IPAddress, y tu intentas eliminar los duplicados señalando que es tipo Integer ademas de que la lista int32List las estas declarando como String en (New List(Of String)) , bueno ahi esta el error, ya deberia funcionar.





« Última modificación: 10 Marzo 2020, 19:56 pm por **Aincrad** » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines