Socket.Available Özellik

Tanım

Ağdan alınan ve okunabilecek veri miktarını alır.

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

Özellik Değeri

Ağdan alınan ve okunabilecek veri bayt sayısı.

Özel durumlar

Yuvaya erişmeye çalışılırken bir hata oluştu.

Örnekler

Aşağıdaki kod örneği, FIONREAD ve Available özelliğiyle IOControl çağırmanın sonuçlarını karşılaştırır.

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

Açıklamalar

Engelleyici Socketolmayan bir kullanıyorsanız, Available çağrısı Receiveyapmadan önce verilerin okuma için kuyruğa alınıp alınmadığını saptamak için iyi bir yoldur. Kullanılabilir veriler, ağ arabelleğinde okuma için kuyruğa alınan toplam veri miktarıdır. Ağ arabelleğinde Available kuyruğa alınan veri yoksa 0 döndürür.

Uzak ana bilgisayar bağlantıyı kapatırsa veya kapatırsa, Available bir SocketExceptionoluşturabilir. bir alırsanız, belirli bir SocketExceptionhata kodunu almak için özelliğini kullanın SocketException.ErrorCode . Bu kodu aldıktan sonra, hatanın ayrıntılı açıklaması için Windows Yuvaları sürüm 2 API hata kodu belgelerine bakın.

Not

Uygulamanızda ağ izlemeyi etkinleştirdiğinizde, bu üye izleme bilgilerini çıkarır. Daha fazla bilgi için bkz. .NET Framework'da Ağ İzleme.

Şunlara uygulanır

Ayrıca bkz.