Socket.Available Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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ě.
Byl Socket zavřený.
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.