Sdílet prostřednictvím


Socket.Available Vlastnost

Definice

Získá množství dat přijatých ze sítě a je k dispozici ke čtení.

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

Hodnota vlastnosti

Počet bajtů dat přijatých ze sítě a dostupných ke čtení.

Výjimky

Při pokusu o přístup k soketu došlo k chybě.

Ta Socket byla uzavřena.

Příklady

Následující příklad kódu porovnává výsledky volání IOControl s FIONREAD a Available vlastnost.

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

Poznámky

Pokud používáte neblokující Socket, Available je dobrým způsobem, jak určit, zda jsou data zařazena do fronty pro čtení před voláním Receive. Dostupná data jsou celkové množství dat zařazených do vyrovnávací paměti sítě pro čtení. Pokud se do vyrovnávací paměti sítě nezařadí žádná data, Available vrátí hodnotu 0.

Pokud vzdálený hostitel vypne nebo zavře připojení, Available může vyvolat SocketExceptionchybu . Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Po získání tohoto kódu si přečtěte dokumentaci k chybě rozhraní API rozhraní WINDOWS Sockets verze 2 , kde najdete podrobný popis chyby.

Poznámka:

Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu Trasování sítě v rozhraní .NET Framework.

Platí pro

Viz také