Socket.Available Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.
Har Socket stängts.
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.