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.
const int FIONREAD = 0x4004667F;

void DisplayPendingByteCount( Socket^ s )
{
   array<Byte>^ outValue = BitConverter::GetBytes( 0 );
   
   // Check how many bytes have been received.
   s->IOControl( FIONREAD, nullptr, outValue );

   UInt32 bytesAvailable = BitConverter::ToUInt32( outValue, 0 );
   Console::WriteLine( "server has {0} bytes pending. Available property says {1}.",
      bytesAvailable, s->Available );

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