per ricevere dati da un server UDP sto utilizzando il codice che si trova ovunque:

Dim RemoteIpEndPoint As New IPEndPoint(ServerIP, Port)
Dim receiveBytes As [Byte]() = udpClient.Receive(RemoteIpEndPoint)
Dim returnData As String = System.Text.Encoding.ASCII.GetString(receiveBytes)

peccato che, per quanto receiveBytes sia una matrice di oltre 700 bytes di lunghezza, returnData sia... una stringa perfettamente vuota

ho provato a sostituire ASCII con Unicode o tutte le altre possibilità che la classe Encoding offre: o appaiono tutta una serie di caratteri incomprensibili o il nulla

nessun problema per leggere la matrice di bytes, grazie al caro vecchio VB6.0:

Dim StrAscii As String = ""
For x As Short = 0 To receiveBytes.Length - 1
StrAscii += Chr(receiveBytes(x))
Next

che legge perfettamente la matrice, a dimostrazione che i dati ci sono e sono quelli che mi aspetto.

a questo punto soltanto la domanda... perché, se i dati ci sono e sono regolarissimi, System.Text.Encoding non mi dà nulla o mi dà delle porcherie??