Socket.Available Eigenschap

Definitie

Hiermee haalt u de hoeveelheid gegevens op die is ontvangen van het netwerk en die beschikbaar is om te worden gelezen.

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

Waarde van eigenschap

Het aantal bytes aan gegevens dat van het netwerk is ontvangen en beschikbaar is om te worden gelezen.

Uitzonderingen

Er is een fout opgetreden bij het openen van de socket.

Voorbeelden

In het volgende codevoorbeeld worden de resultaten van het aanroepen van IOControl vergeleken met FIONREAD en de eigenschap 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;
 }

Opmerkingen

Als u een niet-blokkerende Socketmethode gebruikt, Available is een goede manier om te bepalen of gegevens in de wachtrij staan om te lezen, voordat u aanroept Receive. De beschikbare gegevens zijn de totale hoeveelheid gegevens in de wachtrij in de netwerkbuffer om te lezen. Als er geen gegevens in de wachtrij worden geplaatst in de netwerkbuffer, Available wordt 0 geretourneerd.

Als de externe host de verbinding afsluit of sluit, Available kan er een SocketException. Als u een SocketExceptionontvangt, gebruikt u de SocketException.ErrorCode eigenschap om de specifieke foutcode te verkrijgen. Nadat u deze code hebt verkregen, raadpleegt u de Windows Sockets versie 2 API-foutcode documentatie voor een gedetailleerde beschrijving van de fout.

Note

Dit lid voert traceringsgegevens uit wanneer u netwerktracering inschakelt in uw toepassing. Zie Network Tracing in .NET Framework voor meer informatie.

Van toepassing op

Zie ook