次の方法で共有


Socket.EndSendFile(IAsyncResult) メソッド

定義

保留中のファイルの非同期送信を終了します。

public:
 void EndSendFile(IAsyncResult ^ asyncResult);
public void EndSendFile(IAsyncResult asyncResult);
member this.EndSendFile : IAsyncResult -> unit
Public Sub EndSendFile (asyncResult As IAsyncResult)

パラメーター

asyncResult
IAsyncResult

この非同期操作の状態情報を格納する IAsyncResult オブジェクト。

例外

.NET 8 以降のみ: ソケットがリモート ホストに接続されていません。

.NET Framework、.NET Core、および .NET 5-6 のみ: Socket が閉じられました。

asyncResult が空です。

asyncResult は、 BeginSendFile(String, AsyncCallback, Object) メソッドの呼び出しによって返されませんでした。

EndSendFile(IAsyncResult) は、以前に非同期 BeginSendFile(String, AsyncCallback, Object)に対して呼び出されました。

ソケットにアクセスしようとしたときにエラーが発生しました。

-又は-

.NET 7 以降のみ: Socket が閉じられました。

注釈

Important

これは互換性 API です。 新しい開発には APM (Begin* および End*) メソッドを使用しないことをお勧めします。 代わりに、 Task ベースの同等の値を使用します。

EndSendFile は、 BeginSendによって開始された操作を完了します。 一致するBeginSend呼び出しによって作成されたIAsyncResultを渡す必要があります。

コネクションレス プロトコルを使用している場合、 EndSendFile はデータグラムが送信されるまでブロックします。 接続指向プロトコルを使用している場合は、ファイル全体が送信されるまで EndSendFile ブロックします。 送信したデータがネットワークにすぐに表示される保証はありません。 ネットワーク効率を高めるために、基になるシステムは、大量の送信データが収集されるまで送信を遅らせる可能性があります。 BeginSendFile メソッドが正常に完了すると、基になるシステムに、ネットワーク送信用にデータをバッファーする領域があることを意味します。

SocketExceptionを受け取った場合は、SocketException.ErrorCode プロパティを使用して特定のエラー コードを取得します。 このコードを取得したら、エラーの詳細な説明については、 Windows ソケット バージョン 2 の API エラー コード のドキュメントを参照してください。

このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「 .NET Framework でのネットワーク トレース」を参照してください。

適用対象