Socket.BeginReceive Méthode

Définition

Démarre la réception asynchrone de données à partir d'un Socket connecté.Begins to asynchronously receive data from a connected Socket.

Surcharges

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Démarre la réception asynchrone de données à partir d'un Socket connecté.Begins to asynchronously receive data from a connected Socket.

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Démarre la réception asynchrone de données à partir d'un Socket connecté.Begins to asynchronously receive data from a connected Socket.

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Démarre la réception asynchrone de données à partir d'un Socket connecté.Begins to asynchronously receive data from a connected Socket.

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Démarre la réception asynchrone de données à partir d'un Socket connecté.Begins to asynchronously receive data from a connected Socket.

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Démarre la réception asynchrone de données à partir d'un Socket connecté.Begins to asynchronously receive data from a connected Socket.

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags flags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % error, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags flags, out System.Net.Sockets.SocketError error, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, flags As SocketFlags, ByRef error As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

Paramètres

buffer
Byte[]

Tableau de type Byte qui est l'emplacement de stockage pour les données reçues.An array of type Byte that is the storage location for the received data.

offset
Int32

Emplacement dans buffer où stocker les données reçues.The location in buffer to store the received data.

size
Int32

Nombre d'octets à recevoir.The number of bytes to receive.

socketFlagsflags
SocketFlags

Combinaison d'opérations de bits des valeurs SocketFlags.A bitwise combination of the SocketFlags values.

errorCodeerror
SocketError

Objet SocketError qui stocke l'erreur de socket.A SocketError object that stores the socket error.

callback
AsyncCallback

Délégué AsyncCallback qui fait référence à la méthode à appeler quand l'opération est terminée.An AsyncCallback delegate that references the method to invoke when the operation is complete.

state
Object

Objet défini par l'utilisateur qui comporte des informations sur l'opération de réception.A user-defined object that contains information about the receive operation. Cet objet est passé au délégué EndReceive(IAsyncResult) quand l'opération est terminée.This object is passed to the EndReceive(IAsyncResult) delegate when the operation is complete.

Retours

IAsyncResult qui fait référence à la lecture asynchrone.An IAsyncResult that references the asynchronous read.

Exceptions

buffer a la valeur null.buffer is null.

Une erreur s’est produite pendant la tentative d’accès au socket.An error occurred when attempting to access the socket.

Socket a été fermé.Socket has been closed.

offset est inférieur à 0.offset is less than 0.

-ou--or- offset est supérieur à la longueur de buffer.offset is greater than the length of buffer.

-ou--or- size est inférieur à 0.size is less than 0.

-ou--or- size est supérieur à la longueur de buffer moins la valeur du paramètre offset.size is greater than the length of buffer minus the value of the offset parameter.

Remarques

L’opération de BeginReceive asynchrone doit être effectuée en appelant la méthode EndReceive.The asynchronous BeginReceive operation must be completed by calling the EndReceive method. En règle générale, la méthode est appelée par le délégué callback.Typically, the method is invoked by the callback delegate.

Cette méthode n’est pas bloquée tant que l’opération n’est pas terminée.This method does not block until the operation is complete. Pour bloquer jusqu’à ce que l’opération soit terminée, utilisez l’une des surcharges de la méthode Receive.To block until the operation is complete, use one of the Receive method overloads.

Pour annuler un BeginReceiveen attente, appelez la méthode Close.To cancel a pending BeginReceive, call the Close method.

Pour plus d’informations sur l’utilisation du modèle de programmation asynchrone, consultez appel de méthodes synchrones de façon asynchrone.For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously.

Notes

Si vous recevez un SocketException, utilisez la propriété SocketException.ErrorCode pour obtenir le code d’erreur spécifique.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Une fois que vous avez obtenu ce code, reportez-vous à la documentation sur les codes d’erreur de l' API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Notes

Toutes les e/s initiées par un thread donné sont annulées lorsque ce thread se termine.All I/O initiated by a given thread is canceled when that thread exits. Une opération asynchrone en attente peut échouer si le thread se termine avant la fin de l’opération.A pending asynchronous operation can fail if the thread exits before the operation completes.

Notes

state est une instanciation d’une classe définie par l’utilisateur.state is an instantiation of a user-defined class.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application.This member outputs trace information when you enable network tracing in your application. Pour plus d’informations, consultez la page traçage réseau dans le .NET Framework.For more information, see Network Tracing in the .NET Framework.

Notes

Le contexte d’exécution (le contexte de sécurité, l’utilisateur avec emprunt d’identité et le contexte d’appel) est mis en cache pour les méthodes de Socket asynchrones.The execution context (the security context, the impersonated user, and the calling context) is cached for the asynchronous Socket methods. Après la première utilisation d’un contexte particulier (une méthode de Socket asynchrone spécifique, une instance Socket spécifique et un rappel spécifique), les utilisations suivantes de ce contexte constateront une amélioration des performances.After the first use of a particular context (a specific asynchronous Socket method, a specific Socket instance, and a specific callback), subsequent uses of that context will see a performance improvement.

Voir aussi

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Démarre la réception asynchrone de données à partir d'un Socket connecté.Begins to asynchronously receive data from a connected Socket.

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socket_flags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socket_flags, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socket_flags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

Paramètres

buffer
Byte[]

Tableau de type Byte qui est l'emplacement de stockage pour les données reçues.An array of type Byte that is the storage location for the received data.

offset
Int32

Position de base zéro dans le paramètre buffer à laquelle stocker les données reçues.The zero-based position in the buffer parameter at which to store the received data.

size
Int32

Nombre d'octets à recevoir.The number of bytes to receive.

socketFlagssocket_flags
SocketFlags

Combinaison d'opérations de bits des valeurs SocketFlags.A bitwise combination of the SocketFlags values.

callback
AsyncCallback

Délégué AsyncCallback qui fait référence à la méthode à appeler quand l'opération est terminée.An AsyncCallback delegate that references the method to invoke when the operation is complete.

state
Object

Objet défini par l'utilisateur qui comporte des informations sur l'opération de réception.A user-defined object that contains information about the receive operation. Cet objet est passé au délégué EndReceive(IAsyncResult) quand l'opération est terminée.This object is passed to the EndReceive(IAsyncResult) delegate when the operation is complete.

Retours

IAsyncResult qui fait référence à la lecture asynchrone.An IAsyncResult that references the asynchronous read.

Exceptions

buffer a la valeur null.buffer is null.

Une erreur s’est produite pendant la tentative d’accès au socket.An error occurred when attempting to access the socket.

Socket a été fermé.Socket has been closed.

offset est inférieur à 0.offset is less than 0.

-ou--or- offset est supérieur à la longueur de buffer.offset is greater than the length of buffer.

-ou--or- size est inférieur à 0.size is less than 0.

-ou--or- size est supérieur à la longueur de buffer moins la valeur du paramètre offset.size is greater than the length of buffer minus the value of the offset parameter.

Exemples

L’exemple de code suivant commence à recevoir des données de façon asynchrone à partir d’un Socketconnecté.The following code example begins to asynchronously receive data from a connected Socket.

public ref class StateObject
{
public:
   literal int BUFFER_SIZE = 1024;
   Socket^ workSocket;
   array<Byte>^ buffer;
   StringBuilder^ sb;
   StateObject() : workSocket( nullptr )
   {
      buffer = gcnew array<Byte>(BUFFER_SIZE);
      sb = gcnew StringBuilder;
   }
};
public class StateObject{
     public Socket workSocket = null;
     public const int BUFFER_SIZE = 1024;
     public byte[] buffer = new byte[BUFFER_SIZE];
     public StringBuilder sb = new StringBuilder();
}
Public Class StateObject
   Public workSocket As Socket = Nothing
   Public const BUFFER_SIZE As Integer = 1024
   Public buffer(BUFFER_SIZE) As byte
   Public sb As New StringBuilder()
End Class
static void Listen_Callback( IAsyncResult^ ar )
{
   allDone->Set();
   Socket^ s = safe_cast<Socket^>(ar->AsyncState);
   Socket^ s2 = s->EndAccept( ar );
   StateObject^ so2 = gcnew StateObject;
   so2->workSocket = s2;
   s2->BeginReceive( so2->buffer, 0, StateObject::BUFFER_SIZE, SocketFlags::None,
      gcnew AsyncCallback( &Async_Send_Receive::Read_Callback ), so2 );
}
public static void Listen_Callback(IAsyncResult ar){
     allDone.Set();
     Socket s = (Socket) ar.AsyncState;
     Socket s2 = s.EndAccept(ar);
     StateObject so2 = new StateObject();
     so2.workSocket = s2;
     s2.BeginReceive(so2.buffer, 0, StateObject.BUFFER_SIZE,0,
                           new AsyncCallback(Async_Send_Receive.Read_Callback), so2);	
}
Public Shared Sub Listen_Callback(ar As IAsyncResult)
   allDone.Set()
   Dim s As Socket = CType(ar.AsyncState, Socket)
   Dim s2 As Socket = s.EndAccept(ar)
   Dim so2 As New StateObject()
   so2.workSocket = s2
   s2.BeginReceive(so2.buffer, 0, StateObject.BUFFER_SIZE, 0, New AsyncCallback(AddressOf Async_Send_Receive.Read_Callback), so2)
End Sub

static void Read_Callback( IAsyncResult^ ar )
{
   StateObject^ so = safe_cast<StateObject^>(ar->AsyncState);
   Socket^ s = so->workSocket;

   int read = s->EndReceive( ar );

   if ( read > 0 )
   {
      so->sb->Append( Encoding::ASCII->GetString( so->buffer, 0, read ) );
      s->BeginReceive( so->buffer, 0, StateObject::BUFFER_SIZE, SocketFlags::None,
         gcnew AsyncCallback( &Async_Send_Receive::Read_Callback ), so );
   }
   else
   {
      if ( so->sb->Length > 1 )
      {
         //All of the data has been read, so displays it to the console
         String^ strContent = so->sb->ToString();
         Console::WriteLine( String::Format( "Read {0} byte from socket" +
            " data = {1} ", strContent->Length, strContent ) );
      }
      s->Close();
   }
}
public static void Read_Callback(IAsyncResult ar){
    StateObject so = (StateObject) ar.AsyncState;
    Socket s = so.workSocket;

    int read = s.EndReceive(ar);

    if (read > 0) {
            so.sb.Append(Encoding.ASCII.GetString(so.buffer, 0, read));
            s.BeginReceive(so.buffer, 0, StateObject.BUFFER_SIZE, 0, 
                                     new AsyncCallback(Async_Send_Receive.Read_Callback), so);
    }
    else{
         if (so.sb.Length > 1) {
              //All of the data has been read, so displays it to the console
              string strContent;
              strContent = so.sb.ToString();
              Console.WriteLine(String.Format("Read {0} byte from socket" + 
                               "data = {1} ", strContent.Length, strContent));
         }
         s.Close();
    }
}
Public Shared Sub Read_Callback(ar As IAsyncResult)
   Dim so As StateObject = CType(ar.AsyncState, StateObject)
   Dim s As Socket = so.workSocket
   
   Dim read As Integer = s.EndReceive(ar)
   
   If read > 0 Then
      so.sb.Append(Encoding.ASCII.GetString(so.buffer, 0, read))
      s.BeginReceive(so.buffer, 0, StateObject.BUFFER_SIZE, 0, New AsyncCallback(AddressOf Async_Send_Receive.Read_Callback), so)
   Else
      If so.sb.Length > 1 Then
         'All the data has been read, so displays it to the console
         Dim strContent As String
         strContent = so.sb.ToString()
         Console.WriteLine([String].Format("Read {0} byte from socket" + "data = {1} ", strContent.Length, strContent))
      End If
      s.Close()
   End If
End Sub

Remarques

L’opération de BeginReceive asynchrone doit être effectuée en appelant la méthode EndReceive.The asynchronous BeginReceive operation must be completed by calling the EndReceive method. En règle générale, la méthode est appelée par le délégué callback.Typically, the method is invoked by the callback delegate.

Cette méthode n’est pas bloquée tant que l’opération n’est pas terminée.This method does not block until the operation is complete. Pour bloquer jusqu’à ce que l’opération soit terminée, utilisez l’une des surcharges de la méthode Receive.To block until the operation is complete, use one of the Receive method overloads.

Pour annuler un BeginReceiveen attente, appelez la méthode Close.To cancel a pending BeginReceive, call the Close method.

Pour plus d’informations sur l’utilisation du modèle de programmation asynchrone, consultez appel de méthodes synchrones de façon asynchrone.For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously.

Notes

Si vous recevez un SocketException, utilisez la propriété SocketException.ErrorCode pour obtenir le code d’erreur spécifique.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Une fois que vous avez obtenu ce code, reportez-vous à la documentation sur les codes d’erreur de l' API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Notes

Toutes les e/s initiées par un thread donné sont annulées lorsque ce thread se termine.All I/O initiated by a given thread is canceled when that thread exits. Une opération asynchrone en attente peut échouer si le thread se termine avant la fin de l’opération.A pending asynchronous operation can fail if the thread exits before the operation completes.

Notes

state est une instanciation d’une classe définie par l’utilisateur.state is an instantiation of a user-defined class.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application.This member outputs trace information when you enable network tracing in your application. Pour plus d’informations, consultez la page traçage réseau dans le .NET Framework.For more information, see Network Tracing in the .NET Framework.

Notes

Le contexte d’exécution (le contexte de sécurité, l’utilisateur avec emprunt d’identité et le contexte d’appel) est mis en cache pour les méthodes de Socket asynchrones.The execution context (the security context, the impersonated user, and the calling context) is cached for the asynchronous Socket methods. Après la première utilisation d’un contexte particulier (une méthode de Socket asynchrone spécifique, une instance Socket spécifique et un rappel spécifique), les utilisations suivantes de ce contexte constateront une amélioration des performances.After the first use of a particular context (a specific asynchronous Socket method, a specific Socket instance, and a specific callback), subsequent uses of that context will see a performance improvement.

Voir aussi

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Important

Cette API n’est pas conforme CLS.

Démarre la réception asynchrone de données à partir d'un Socket connecté.Begins to asynchronously receive data from a connected Socket.

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
[System.CLSCompliant(false)]
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult

Paramètres

buffers
IList<ArraySegment<Byte>>

Tableau de type Byte qui est l'emplacement de stockage pour les données reçues.An array of type Byte that is the storage location for the received data.

socketFlags
SocketFlags

Combinaison d'opérations de bits des valeurs SocketFlags.A bitwise combination of the SocketFlags values.

callback
AsyncCallback

Délégué AsyncCallback qui fait référence à la méthode à appeler quand l'opération est terminée.An AsyncCallback delegate that references the method to invoke when the operation is complete.

state
Object

Objet défini par l'utilisateur qui comporte des informations sur l'opération de réception.A user-defined object that contains information about the receive operation. Cet objet est passé au délégué EndReceive(IAsyncResult) quand l'opération est terminée.This object is passed to the EndReceive(IAsyncResult) delegate when the operation is complete.

Retours

IAsyncResult qui fait référence à la lecture asynchrone.An IAsyncResult that references the asynchronous read.

Attributs

Exceptions

buffer a la valeur null.buffer is null.

Une erreur s’est produite pendant la tentative d’accès au socket.An error occurred when attempting to access the socket.

Socket a été fermé.Socket has been closed.

Remarques

L’opération de BeginReceive asynchrone doit être effectuée en appelant la méthode EndReceive.The asynchronous BeginReceive operation must be completed by calling the EndReceive method. En règle générale, la méthode est appelée par le délégué callback.Typically, the method is invoked by the callback delegate.

Cette méthode n’est pas bloquée tant que l’opération n’est pas terminée.This method does not block until the operation is complete. Pour bloquer jusqu’à ce que l’opération soit terminée, utilisez l’une des surcharges de la méthode Receive.To block until the operation is complete, use one of the Receive method overloads.

Pour annuler un BeginReceiveen attente, appelez la méthode Close.To cancel a pending BeginReceive, call the Close method.

Pour plus d’informations sur l’utilisation du modèle de programmation asynchrone, consultez appel de méthodes synchrones de façon asynchrone.For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously.

Notes

Si vous recevez un SocketException, utilisez la propriété SocketException.ErrorCode pour obtenir le code d’erreur spécifique.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Une fois que vous avez obtenu ce code, reportez-vous à la documentation sur les codes d’erreur de l' API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Notes

Toutes les e/s initiées par un thread donné sont annulées lorsque ce thread se termine.All I/O initiated by a given thread is canceled when that thread exits. Une opération asynchrone en attente peut échouer si le thread se termine avant la fin de l’opération.A pending asynchronous operation can fail if the thread exits before the operation completes.

Notes

state est une instanciation d’une classe définie par l’utilisateur.state is an instantiation of a user-defined class.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application.This member outputs trace information when you enable network tracing in your application. Pour plus d’informations, consultez la page traçage réseau dans le .NET Framework.For more information, see Network Tracing in the .NET Framework.

Notes

Le contexte d’exécution (le contexte de sécurité, l’utilisateur avec emprunt d’identité et le contexte d’appel) est mis en cache pour les méthodes de Socket asynchrones.The execution context (the security context, the impersonated user, and the calling context) is cached for the asynchronous Socket methods. Après la première utilisation d’un contexte particulier (une méthode de Socket asynchrone spécifique, une instance Socket spécifique et un rappel spécifique), les utilisations suivantes de ce contexte constateront une amélioration des performances.After the first use of a particular context (a specific asynchronous Socket method, a specific Socket instance, and a specific callback), subsequent uses of that context will see a performance improvement.

Voir aussi

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Important

Cette API n’est pas conforme CLS.

Démarre la réception asynchrone de données à partir d'un Socket connecté.Begins to asynchronously receive data from a connected Socket.

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
[System.CLSCompliant(false)]
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult

Paramètres

buffers
IList<ArraySegment<Byte>>

Tableau de type Byte qui est l'emplacement de stockage pour les données reçues.An array of type Byte that is the storage location for the received data.

socketFlags
SocketFlags

Combinaison d'opérations de bits des valeurs SocketFlags.A bitwise combination of the SocketFlags values.

errorCode
SocketError

Objet SocketError qui stocke l'erreur de socket.A SocketError object that stores the socket error.

callback
AsyncCallback

Délégué AsyncCallback qui fait référence à la méthode à appeler quand l'opération est terminée.An AsyncCallback delegate that references the method to invoke when the operation is complete.

state
Object

Objet défini par l'utilisateur qui comporte des informations sur l'opération de réception.A user-defined object that contains information about the receive operation. Cet objet est passé au délégué EndReceive(IAsyncResult) quand l'opération est terminée.This object is passed to the EndReceive(IAsyncResult) delegate when the operation is complete.

Retours

IAsyncResult qui fait référence à la lecture asynchrone.An IAsyncResult that references the asynchronous read.

Attributs

Exceptions

buffer a la valeur null.buffer is null.

Une erreur s’est produite pendant la tentative d’accès au socket.An error occurred when attempting to access the socket.

Socket a été fermé.Socket has been closed.

Remarques

L’opération de BeginReceive asynchrone doit être effectuée en appelant la méthode EndReceive.The asynchronous BeginReceive operation must be completed by calling the EndReceive method. En règle générale, la méthode est appelée par le délégué callback.Typically, the method is invoked by the callback delegate.

Cette méthode n’est pas bloquée tant que l’opération n’est pas terminée.This method does not block until the operation is complete. Pour bloquer jusqu’à ce que l’opération soit terminée, utilisez l’une des surcharges de la méthode Receive.To block until the operation is complete, use one of the Receive method overloads.

Pour annuler un BeginReceiveen attente, appelez la méthode Close.To cancel a pending BeginReceive, call the Close method.

Pour plus d’informations sur l’utilisation du modèle de programmation asynchrone, consultez appel de méthodes synchrones de façon asynchrone.For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously.

Notes

Si vous recevez un SocketException, utilisez la propriété SocketException.ErrorCode pour obtenir le code d’erreur spécifique.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Une fois que vous avez obtenu ce code, reportez-vous à la documentation sur les codes d’erreur de l' API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Notes

Toutes les e/s initiées par un thread donné sont annulées lorsque ce thread se termine.All I/O initiated by a given thread is canceled when that thread exits. Une opération asynchrone en attente peut échouer si le thread se termine avant la fin de l’opération.A pending asynchronous operation can fail if the thread exits before the operation completes.

Notes

state est une instanciation d’une classe définie par l’utilisateur.state is an instantiation of a user-defined class.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application.This member outputs trace information when you enable network tracing in your application. Pour plus d’informations, consultez la page traçage réseau dans le .NET Framework.For more information, see Network Tracing in the .NET Framework.

Notes

Le contexte d’exécution (le contexte de sécurité, l’utilisateur avec emprunt d’identité et le contexte d’appel) est mis en cache pour les méthodes de Socket asynchrones.The execution context (the security context, the impersonated user, and the calling context) is cached for the asynchronous Socket methods. Après la première utilisation d’un contexte particulier (une méthode de Socket asynchrone spécifique, une instance Socket spécifique et un rappel spécifique), les utilisations suivantes de ce contexte constateront une amélioration des performances.After the first use of a particular context (a specific asynchronous Socket method, a specific Socket instance, and a specific callback), subsequent uses of that context will see a performance improvement.

Voir aussi

S’applique à