2009-08-05 14 views
5

Buenas tardes,Enchufes, obtenga el número de bytes disponible (C#)

Bien, corto y dulce.

Necesito obtener el número de bytes disponibles para leer desde un socket. He configurado un NetworkStream en mi Socket Client, pero parece que no puedo encontrar la forma de obtener el número de bytes disponibles para leer, en este momento solo puedo obtener un booleano que dice "Sí, tengo bytes" o "No". Bytes esta vez ". Pero esto es útil para la tarea que requiero.

¿Alguien podría sacarme de mi miseria y proporcionarme mi necesidad?

Gracias de antemano, apreciado.

Respuesta

8

Como se especifica en this MSDN article acerca de la propiedad NetworkStream.Length:

Obtiene la longitud de los datos disponibles en la corriente. Esta propiedad siempre arroja un NotSupportedException.

Esto se debe a que los datos se transmiten a la transmisión a medida que llegan, por lo que no tienen una longitud real.

Sin embargo, la propiedad Socket.Available le dice cuántos bytes hay disponibles para leer en en este momento exacto. El valor puede cambiar en cualquier momento dado si llegan nuevos datos.

Cuestiones relacionadas