Sdílet prostřednictvím


Socket.Available Vlastnost

Definice

Získá množství dat, které byly přijaty 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ě.

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ý způsob, jak před voláním Receiveurčit, jestli jsou data zařazená do fronty pro čtení. Dostupná data jsou celkové množství dat zařazených do fronty v síťové vyrovnávací paměti pro čtení. Pokud ve vyrovnávací paměti sítě nejsou ve frontě žádná data, Available vrátí hodnotu 0.

Pokud vzdálený hostitel vypne nebo ukončí připojení, Available může vyvolat SocketExceptionchybu . Pokud se zobrazí SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Jakmile tento kód získáte, projděte si podrobný popis chyby v dokumentaci k rozhraní API windows Sockets verze 2 .

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Platí pro

Viz také