2009-08-05 9 views
5

Buon pomeriggio,Socket, numero di byte disponibili (C#)

OK, breve e dolce.

ho bisogno di ottenere il numero di byte disponibili per la lettura da un socket. Ho installato un NetworkStream sul mio Socket Client ma non riesco a trovare come ottenere il numero di byte che sono disponibili per essere letto, al momento posso solo ottenere un valore booleano che indica "Yes I have Bytes", o "No Byte questa volta ". Ma questo è tutto tranne che utile per il compito che richiedo.

Qualcuno potrebbe mi ha messo fuori dalla mia miseria e fornirmi il mio bisogno?

Grazie in anticipo, apprezzato.

risposta

8

Come specificato nel this MSDN article sulla proprietà NetworkStream.Length:

Ottiene la lunghezza dei dati disponibili sul torrente. Questa proprietà genera sempre un NotSupportedException.

Ciò è dovuto al fatto che i dati vengono inviati al flusso non appena arriva, non avendo una lunghezza effettiva.

Tuttavia, la proprietà Socket.Available indica quanti byte sono disponibili per la lettura al in questo momento esatto. Il valore può cambiare in qualsiasi momento se arrivano nuovi dati.