Socket.Available Eigenschaft

Definition

Ruft die Datenmenge ab, die über das Netzwerk empfangen wurde und gelesen werden kann.

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

Eigenschaftswert

Die Anzahl der Datenbytes, die vom Netzwerk empfangen wurden und zum Lesen zur Verfügung stehen.

Ausnahmen

Fehler beim Versuch, auf den Socket zuzugreifen.

Der Socket wurde geschlossen.

Beispiele

Im folgenden Codebeispiel werden die Ergebnisse des Aufrufens von IOControl mit FIONREAD und der Available-Eigenschaft verglichen.

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

Hinweise

Wenn Sie eine nicht blockierende Socketverwenden, Available ist eine gute Möglichkeit, um zu bestimmen, ob Daten zum Lesen in die Warteschlange eingereiht werden, bevor Sie aufrufen Receive. Die verfügbaren Daten sind die Gesamtmenge der Daten, die zum Lesen im Netzwerkpuffer in die Warteschlange gestellt werden. Wenn keine Daten im Netzwerkpuffer in die Warteschlange eingereiht werden, Available wird 0 zurückgegeben.

Wenn der Remotehost die Verbindung herunterfährt oder schließt, Available kann eine ausgelöst werden SocketException. Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten. Nachdem Sie diesen Code erhalten haben, finden Sie in der Dokumentation zu Windows Sockets Version 2-API-Fehlercode eine ausführliche Beschreibung des Fehlers.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.

Gilt für:

Weitere Informationen