Socket.Available Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene la cantidad de datos que se han recibido de la red y está disponible para leerse.
public:
property int Available { int get(); };
public int Available { get; }
member this.Available : int
Public ReadOnly Property Available As Integer
Valor de propiedad
Número de bytes de datos recibidos de la red y disponibles para ser leídos.
Excepciones
Error al intentar acceder al socket.
Se Socket ha cerrado.
Ejemplos
En el ejemplo de código siguiente se comparan los resultados de llamar a IOControl con FIONREAD y la propiedad Available.
// FIONREAD is also available as the "Available" property.
public const int FIONREAD = 0x4004667F;
static void DisplayPendingByteCount(Socket s)
{
byte[] outValue = BitConverter.GetBytes(0);
// Check how many bytes have been received.
s.IOControl(FIONREAD, null, outValue);
uint bytesAvailable = BitConverter.ToUInt32(outValue, 0);
Console.WriteLine("server has {0} bytes pending. Available property says {1}.",
bytesAvailable, s.Available);
return;
}
Comentarios
Si usa un no bloqueo Socket, Available es una buena manera de determinar si los datos se ponen en cola para leerlos, antes de llamar a Receive. Los datos disponibles son la cantidad total de datos en cola en el búfer de red para su lectura. Si no hay datos en cola en el búfer de red, Available devuelve 0.
Si el host remoto se cierra o cierra la conexión, Available puede iniciar una SocketExceptionexcepción . Si recibe un SocketException, use la SocketException.ErrorCode propiedad para obtener el código de error específico. Después de obtener este código, consulte la documentación del código de error de la API de Windows Sockets versión 2 para obtener una descripción detallada del error.
Nota:
Este miembro genera información de seguimiento al habilitar el seguimiento de red en la aplicación. Para obtener más información, consulte Seguimiento de red en .NET Framework.