Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: stderr en 12 Febrero 2008, 23:01 pm



Título: escuchar puertos udp con .net
Publicado por: stderr en 12 Febrero 2008, 23:01 pm
buenas, estoy intentando escuchar en un rango de puertos con .net, mas concretamente con la clase UdpClient, lo hago de la siguiente manera:

Código:
For puerto As Integer = 2300 To 2350
    Dim open As New UdpClient(puerto)
Next

pero el problema viene cuando hago "netstat -a" en la línea de comandos y veo que solo tengo escuchando 3 o 4 de todos los que le he dicho que escuche.

a alguien mas le ha pasado? alguna solucion? gracias, saludos.


Título: Re: escuchar puertos udp con .net
Publicado por: stderr en 12 Febrero 2008, 23:55 pm
bueno creo que esta solucionado, momentaneamente sin saber que esta bien, guardo todas las instancias de UdpClient, ademas que pienso que esta bien si en algun momento necesito destruirlas por si quiero dejar de escuchar en algun puerto, asi quedaria:

Código:
        Dim puertos(50) As UdpClient
        Dim i As Integer = 0
        For puerto As Integer = 2300 To 2350
            puertos(i) = New UdpClient(puerto)
            i += 1
        Next


Título: Re: escuchar puertos udp con .net
Publicado por: stderr en 13 Febrero 2008, 02:09 am
-


Título: Re: escuchar puertos udp con .net
Publicado por: Sancho.Mazorka en 13 Febrero 2008, 04:38 am
Hola este no es el foro de VB.NET este es el de VB6 pero te ayudo igual :P

Toma esto te va a servir para recibir los datos:

Código
  1.    Imports System.Threading 'Es una IMPORT declarala fuera de una clase
  2.  
  3.    Private UDPThd As Thread 'Maneja el LeerSocket como un Thread Aparte
  4.  
  5.    Private HLIpEndPoint As IPEndPoint 'Para manejo de IP
  6.  
  7.    Private RemoteIpEndPoint As New IPEndPoint(IP, Puerto) 'Reemplaza IP x la IP que envia informacion y el Puerto que envia informacion (es para recibir)
  8.  
  9.    'Para llamar a la funcion de que quede cuidando al puerto:
  10.     UDPThd = New Thread(AddressOf LeerSocket)
  11.     UDPThd.Start()
  12.  
  13.    Private Sub LeerSocket() 'Esto es para leer cunado llega informacion sin depender de un loop (la informacion se guarda en Buffer
  14.        Dim Buffer As Byte()
  15.        'Loop para recibir la informacion
  16.        While True
  17.            'Obtenemos la informacion enviada
  18.            Buffer = Puertos(X).Receive(RemoteIpEndPoint) 'Reemplaza X por el numero de socket
  19.            'Salimos del While
  20.            Exit While
  21.        End While
  22.    End Sub

Espero que te sirva!


Sancho.Mazorka    :¬¬


Título: Re: escuchar puertos udp con .net
Publicado por: stderr en 13 Febrero 2008, 17:11 pm
muchisimas gracias tio ;)