NetworkStream.EndWrite(IAsyncResult) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.