英語で読む

次の方法で共有


Socket.EndSendTo(IAsyncResult) メソッド

定義

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

C#
public int EndSendTo(IAsyncResult asyncResult);

パラメーター

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 エラー コード のドキュメントを参照してください。

注意

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

適用対象

製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1