Cliquez pour évaluer et commenter
MSDN
MSDN Library
Développement .NET
Versions précédentes
.NET Framework SDK 2.0
Class Library Reference
System.Net.Sockets
Socket, classe
Propriétés Socket
 Available, propriété

  Passer à l'affichage pour faible bande passante
Cette page est spécifique à
Microsoft Visual Studio 2005/.NET Framework 2.0

D'autres versions sont également disponibles pour :
Bibliothèque de classes .NET Framework
Socket.Available, propriété

Obtient la quantité de données reçues du réseau et disponibles pour la lecture.

Espace de noms : System.Net.Sockets
Assembly : System (dans system.dll)

Visual Basic (Déclaration)
Public ReadOnly Property Available As Integer
Visual Basic (Utilisation)
Dim instance As Socket
Dim value As Integer

value = instance.Available
C#
public int Available { get; }
C++
public:
property int Available {
    int get ();
}
J#
/** @property */
public int get_Available ()
JScript
public function get Available () : int

Valeur de la propriété

Nombre d'octets de données reçues du réseau et disponibles pour la lecture.
Type d'exceptionCondition

SocketException

Une erreur s'est produite lors de la tentative d'accès au socket. Pour plus d'informations, consultez la section Notes.

ObjectDisposedException

Socket a été fermé.

Si vous utilisez un Socket non bloquant, la propriété Available constitue un bon moyen de déterminer si les données sont mises en file d'attente pour la lecture avant d'appeler la méthode Receive. Les données disponibles correspondent à la quantité totale de données en file d'attente dans la mémoire tampon réseau pour la lecture. Si aucune donnée ne se trouve en file d'attente dans la mémoire tampon réseau, la propriété Available retourne 0.

Si l'hôte distant arrête ou ferme la connexion, Available peut lever SocketException. Si vous recevez SocketException, utilisez la propriété SocketException.ErrorCode pour obtenir le code d'erreur spécifique. Une fois que vous avez obtenu ce code, reportez-vous à la documentation sur les codes d'erreur de l'API Windows Sockets version 2 dans MSDN Library pour obtenir une description détaillée de l'erreur.

RemarqueRemarque

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d'informations, consultez Traçage réseau.

L'exemple de code suivant compare les résultats de l'appel de IOControl avec FIONREAD et la propriété Available.

C#
 // 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;
 }
C++
// 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;
}
J#
// FIONREAD is also available as the "Available" property.
public static final int FIONREAD = 0x4004667F;

static void DisplayPendingByteCount(Socket s)
{
    ubyte outValue[] = BitConverter.GetBytes(0);
    // Check how many bytes have been received.
    s.IOControl(FIONREAD, null, outValue);

    UInt32 bytesAvailable = BitConverter.ToUInt32(outValue, 0);
    //ToDo: Unsigned Integers not supported- converted to int
    Console.WriteLine("server has {0} bytes pending. Available property "
        + "says {1}.", bytesAvailable.ToString(), 
        (System.Int32)s.get_Available());
    return;
} //DisplayPendingByteCount

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Contenu de la communauté   Qu'est-ce que le Contenu de la communauté ?
Ajouter du contenu RSS  Annotations
Processing
© 2009 Microsoft Corporation. Tous droits réservés. Conditions d'utilisation  |  Marques  |  Confidentialité
Page view tracker