Socket.Available Propriedade

Definição

Obtém a quantidade de dados recebida da rede e que está disponível para leitura.

public:
 property int Available { int get(); };
public int Available { get; }
member this.Available : int
Public ReadOnly Property Available As Integer

Valor de Propriedade

O número de bytes de dados recebidos da rede e disponíveis para leitura.

Exceções

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

Exemplos

O exemplo de código seguinte compara os resultados de chamar IOControl com FIONREAD e a propriedade 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;
 }

Observações

Se estiver a usar um não-bloqueante Socket, Available é uma boa forma de determinar se os dados estão em fila para leitura, antes de chamar Receive. Os dados disponíveis são a quantidade total de dados enfileirados no buffer de rede para leitura. Se nenhum dado estiver em fila no buffer da rede, retorna Available 0.

Se o host remoto desligar ou fechar a ligação, Available pode lançar um SocketException. Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter este código, consulte a documentação do código de erro da API Windows versão 2 dos Sockets para uma descrição detalhada do erro.

Note

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.

Aplica-se a

Ver também