NetworkStream.EndWrite(IAsyncResult) Méthode

Définition

Gère la fin d'une écriture asynchrone.Handles the end of an asynchronous write.

public:
 override void EndWrite(IAsyncResult ^ asyncResult);
public override void EndWrite (IAsyncResult asyncResult);
override this.EndWrite : IAsyncResult -> unit
Public Overrides Sub EndWrite (asyncResult As IAsyncResult)

Paramètres

asyncResult
IAsyncResult

IAsyncResult qui représente l'appel asynchrone.The IAsyncResult that represents the asynchronous call.

Exceptions

Le paramètre asyncResult a la valeur null.The asyncResult parameter is null.

Le Socket sous-jacent est fermé.The underlying Socket is closed.

- ou --or- Une erreur s'est produite pendant l'écriture sur le réseau.An error occurred while writing to the network.

- ou --or- Une erreur s’est produite pendant l’accès au socket.An error occurred when accessing the socket.

Le NetworkStream est fermé.The NetworkStream is closed.

Exemples

Dans l’exemple de code suivant, myWriteCallback est fourni à BeginWrite comme méthode de rappel.In the following code example, myWriteCallback is provided to BeginWrite as the callback method. EndWrite est implémenté dans myWriteCallback pour terminer l’appel d’écriture asynchrone démarré par BeginWrite .EndWrite is implemented in myWriteCallback to complete the asynchronous write call started by BeginWrite.


// Example of EndWrite
static void myWriteCallBack( IAsyncResult^ ar )
{
   NetworkStream^ myNetworkStream = safe_cast<NetworkStream^>(ar->AsyncState);
   myNetworkStream->EndWrite( ar );
}
// Example of EndWrite
public static void myWriteCallBack(IAsyncResult ar){

     NetworkStream myNetworkStream = (NetworkStream)ar.AsyncState;
     myNetworkStream.EndWrite(ar);
}

' Example of EndWrite
Public Shared Sub myWriteCallBack(ar As IAsyncResult)
   
   Dim myNetworkStream As NetworkStream = CType(ar.AsyncState, NetworkStream)
   myNetworkStream.EndWrite(ar)
End Sub


Remarques

EndWrite termine l’opération d’envoi asynchrone démarrée dans BeginWrite .EndWrite completes the asynchronous send operation started in BeginWrite.

Avant BeginWrite d’appeler, vous devez créer une méthode de rappel qui implémente le AsyncCallback délégué.Before calling BeginWrite, you need to create a callback method that implements the AsyncCallback delegate. Cette méthode de rappel s’exécute dans un thread distinct et est appelée par le système après que BeginWrite retourne.This callback method executes in a separate thread and is called by the system after BeginWrite returns. La méthode de rappel doit accepter le IAsyncResult retourné à partir de la BeginWrite méthode en tant que paramètre.The callback method must accept the IAsyncResult returned from the BeginWrite method as a parameter.

Dans la méthode de rappel, appelez la AsyncState propriété du IAsyncResult paramètre pour obtenir le NetworkStream .Within the callback method, call the AsyncState property of the IAsyncResult parameter to obtain the NetworkStream. Après avoir obtenu le NetworkStream , vous pouvez appeler la EndWrite méthode pour terminer correctement l’opération d’envoi et retourner le nombre d’octets envoyés.After obtaining the NetworkStream, you can call the EndWrite method to successfully complete the send operation and return the number of bytes sent.

La EndWrite méthode se bloque jusqu’à ce que le nombre d’octets demandé soit envoyé.The EndWrite method blocks until the requested number of bytes are sent.

Notes

Si vous recevez un IOException , vérifiez la InnerException propriété pour déterminer si elle a été provoquée par un SocketException .If you receive an IOException, check the InnerException property to determine if it was caused by a SocketException. Si c’est le cas, utilisez la ErrorCode propriété pour obtenir le code d’erreur spécifique et 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.If so, use the ErrorCode property to obtain the specific error code and refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

S’applique à

Voir aussi