Vous devez utiliser la valeur de retour de Stream.Read, et seulement créer la chaîne des octets qui ont été effectivement lus:
Dim bytesRead = serverStream.Read(inStream, 0, buffSize)
Dim text = Encoding.ASCII.GetString(inStream, 0, bytesRead)
Notez, cependant, que vous devriez habituellement continuer à lire à partir un flux jusqu'à ce qu'il n'y ait plus de données à lire. StreamReader
peut vous aider à faire ce vraiment simplement, si vous essayez de convertir tout en une chaîne:
Dim text = new StreamReader(serverStream, Encoding.ASCII).ReadToEnd()
(je suppose que vous fermez le flux ailleurs, sinon, vous devez fermer la StreamReader
dans un enfin bloquer.)
Etes-vous absolument sûr que les données seront toujours ASCII, soit dit en passant? Cela signifie que vous n'aurez jamais de caractères accentués, etc.
Si quelque chose n'est toujours pas clair après avoir lu les réponses de Guffa et moi-même, veuillez envoyer plus de détails de exactement ce que vous essayez de faire.
S'il vous plaît voir http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work –