NetworkStream.EndWrite(IAsyncResult) Methode

Definition

Behandelt das Ende eines asynchronen Schreibvorgangs.

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

Parameter

asyncResult
IAsyncResult

Das IAsyncResult, das den asynchronen Aufruf darstellt.

Ausnahmen

Der asyncResult-Parameter ist null.

Der zugrunde liegende Socket wird geschlossen.

- oder - Beim Schreiben in das Netzwerk ist ein Fehler aufgetreten.

- oder - Beim Zugreifen auf den Socket ist ein Fehler aufgetreten.

Der NetworkStream ist geschlossen.

Beispiele

Im folgenden Codebeispiel myWriteCallback wird als Rückrufmethode bereitgestellt BeginWrite . EndWrite wird implementiert myWriteCallback , um den asynchronen Schreibaufruf abzuschließen, der von 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

Hinweise

EndWrite schließt den asynchronen Sendevorgang ab, der in BeginWrite.

Vor dem Aufrufen BeginWritemüssen Sie eine Rückrufmethode erstellen, die den AsyncCallback Delegaten implementiert. Diese Rückrufmethode wird in einem separaten Thread ausgeführt und nach rückgaben vom System BeginWrite aufgerufen. Die Rückrufmethode muss die IAsyncResult zurückgegebene BeginWrite Methode als Parameter akzeptieren.

Rufen Sie innerhalb der Rückrufmethode die AsyncState Eigenschaft des IAsyncResult Parameters auf, um die NetworkStream. Nach dem Abrufen der NetworkStreamMethode können Sie die EndWrite Methode aufrufen, um den Sendevorgang erfolgreich abzuschließen und die Anzahl der gesendeten Bytes zurückzugeben.

Die EndWrite Methode blockiert, bis die angeforderte Anzahl von Bytes gesendet wird.

Hinweis

Wenn Sie eine IOException, überprüfen Sie die InnerException Eigenschaft, um zu ermitteln, ob sie durch eine SocketException. Wenn ja, verwenden Sie die ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen und auf die Windows Sockets Version 2-API-Fehlercodedokumentation zu verweisen, um eine detaillierte Beschreibung des Fehlers zu erhalten.

Gilt für:

Siehe auch