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.
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
-
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:
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 :¬¬
muchisimas gracias tio ;)