escuchar puertos udp con .net

Iniciado por marcebond, 12 Febrero 2008, 23:01 PM

0 Miembros y 2 Visitantes están viendo este tema.

marcebond

buenas, estoy intentando escuchar en un rango de puertos con .net, mas concretamente con la clase UdpClient, lo hago de la siguiente manera:


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.

marcebond

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:


        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

marcebond

#2
-

Sancho.Mazorka

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 (vbnet) [Seleccionar]
    Imports System.Threading 'Es una IMPORT declarala fuera de una clase

    Private UDPThd As Thread 'Maneja el LeerSocket como un Thread Aparte

    Private HLIpEndPoint As IPEndPoint 'Para manejo de IP

    Private RemoteIpEndPoint As New IPEndPoint(IP, Puerto) 'Reemplaza IP x la IP que envia informacion y el Puerto que envia informacion (es para recibir)

    'Para llamar a la funcion de que quede cuidando al puerto:
     UDPThd = New Thread(AddressOf LeerSocket)
     UDPThd.Start()

    Private Sub LeerSocket() 'Esto es para leer cunado llega informacion sin depender de un loop (la informacion se guarda en Buffer
        Dim Buffer As Byte()
        'Loop para recibir la informacion
        While True
            'Obtenemos la informacion enviada
            Buffer = Puertos(X).Receive(RemoteIpEndPoint) 'Reemplaza X por el numero de socket
            'Salimos del While
            Exit While
        End While
    End Sub


Espero que te sirva!


Sancho.Mazorka    :¬¬
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



marcebond