次の方法で共有


Socket.EndSendTo(IAsyncResult) メソッド

定義

特定の場所への、保留中の非同期送信を終了します。

public:
 int EndSendTo(IAsyncResult ^ asyncResult);
public int EndSendTo (IAsyncResult asyncResult);
member this.EndSendTo : IAsyncResult -> int
Public Function EndSendTo (asyncResult As IAsyncResult) As Integer

パラメーター

asyncResult
IAsyncResult

この非同期操作の状態情報およびユーザー定義データを格納する IAsyncResult

戻り値

正常に完了した場合は送信したバイト数。それ以外の場合は無効な Socket エラー。

例外

asyncResultnullです。

BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) メソッドへの呼び出しで asyncResult が返されませんでした。

EndSendTo(IAsyncResult) が、非同期送信のために以前に呼び出されています。

ソケットへのアクセスを試行しているときにエラーが発生しました。

- または -

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

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

注釈

重要

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

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

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

注意

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

Note

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

適用対象