Amigos soy nuevo en esto de sockets en verdad he puesto lo mejor de mi en esto, pero ya no se por donde darle, espero puedan ayudarme, el caso es el sgte:
Tengo un hilo el cual ejecuta un procedimiento, dentro de ese porcedimiento hay un while infinito que su mision es escuchar un puerto, sucede que ese puerto al leer data debe almacenarlo en variables las cuales son pasadas por parametro , pero resulta que la primera vez lo hace, pero la segunda y la tercer, y las q siguen no contiene nada, estan vacias, que debo hacer para q cuando bombardee el socket mas de una vez esta info yo pueda almacenarla en una variable siempre y luego hacer mis demas cosas...espero puedan ayudarme amigos...
aqui parte del code
Public Sub LeeTrama(ByRef longitud As Integer, ByRef trama As String)
Dim data As [Byte]()
Dim cadena As [String] = [String].Empty
Dim i As Int32
Try
data = New [Byte](1024) {} 'era 1029 se cambia 1024
If stream.CanRead Then
Do While stream.DataAvailable
i = stream.Read(data, 0, 5)
'longitud de la trama
cadena = System.Text.Encoding.ASCII.GetString(data, 0, i) '"00023"
longitud = Convert.ToInt32(cadena) 'longitud de la data que le o del socket
i = stream.Read(data, 0, longitud)
trama = System.Text.Encoding.ASCII.GetString(data, 0, i)
Loop
End If
Catch ex As Exception
Console.Write("error", ex)
End Try