Condividi tramite


Socket.Available Proprietà

Definizione

Ottiene la quantità di dati ricevuti dalla rete ed è disponibile per la lettura.

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

Valore della proprietà

Numero di byte di dati ricevuti dalla rete e disponibili per la lettura.

Eccezioni

Si è verificato un errore durante il tentativo di accesso al socket.

L'oggetto Socket è stato chiuso.

Esempio

Nell'esempio di codice seguente vengono confrontati i risultati della chiamata a IOControl con FIONREAD e la proprietà 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;
 }

Commenti

Se si usa un non bloccante Socket, Available è un buon modo per determinare se i dati vengono accodati per la lettura, prima di chiamare Receive. I dati disponibili sono la quantità totale di dati accodati nel buffer di rete per la lettura. Se nel buffer di rete non vengono accodati dati, Available restituisce 0.

Se l'host remoto arresta o chiude la connessione, Available può generare un'eccezione SocketException. Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico. Dopo aver ottenuto questo codice, fare riferimento alla documentazione relativa al codice di errore dell'API Windows Sockets versione 2 per una descrizione dettagliata dell'errore.

Annotazioni

Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.

Si applica a

Vedi anche