Socket.Available Egenskap

Definition

Hämtar den mängd data som har tagits emot från nätverket och är tillgänglig för läsning.

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

Egenskapsvärde

Antalet byte med data som tagits emot från nätverket och som kan läsas.

Undantag

Ett fel uppstod vid försök att komma åt socketen.

Exempel

I följande kodexempel jämförs resultatet av att anropa IOControl med FIONREAD och egenskapen Tillgänglig.

 // 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;
 }

Kommentarer

Om du använder en icke-blockerande Socket, Available är ett bra sätt att avgöra om data placeras i kö för läsning innan du anropar Receive. Tillgängliga data är den totala mängden data som köas i nätverksbufferten för läsning. Om inga data placeras i kö i nätverksbufferten Available returnerar 0.

Om fjärrvärden stänger av eller stänger anslutningen Available kan du utlösa en SocketException. Om du får en SocketExceptionanvänder du SocketException.ErrorCode egenskapen för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet.

Note

Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing in .NET Framework.

Gäller för

Se även