Socket.EndReceiveMessageFrom メソッド

定義

特定のエンドポイントからの、保留中の非同期読み込みを終了します。 また、このメソッドは、EndReceiveFrom(IAsyncResult, EndPoint) よりもパケットに関するより多くの情報を示します。

public:
 int EndReceiveMessageFrom(IAsyncResult ^ asyncResult, System::Net::Sockets::SocketFlags % socketFlags, System::Net::EndPoint ^ % endPoint, [Runtime::InteropServices::Out] System::Net::Sockets::IPPacketInformation % ipPacketInformation);
public int EndReceiveMessageFrom (IAsyncResult asyncResult, ref System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint endPoint, out System.Net.Sockets.IPPacketInformation ipPacketInformation);
member this.EndReceiveMessageFrom : IAsyncResult * SocketFlags * EndPoint * IPPacketInformation -> int
Public Function EndReceiveMessageFrom (asyncResult As IAsyncResult, ByRef socketFlags As SocketFlags, ByRef endPoint As EndPoint, ByRef ipPacketInformation As IPPacketInformation) As Integer

パラメーター

asyncResult
IAsyncResult

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

socketFlags
SocketFlags

受信パケットの SocketFlags 値のビットごとの組み合わせ。

endPoint
EndPoint

コピー元 EndPoint

ipPacketInformation
IPPacketInformation

受信パケットの IPAddress とインターフェイス。

戻り値

正常に完了した場合は、受信したバイト数。 失敗した場合は、0 を返します。

例外

asyncResultnull です

- または -

endPointnullです。

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

EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) が、非同期の読み取りのために以前に呼び出されています。

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

- または -

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

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

注釈

重要

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

EndReceiveFrom によって BeginReceiveFrom開始された操作が完了します。 一致する呼び出しによって作成された を IAsyncResult 渡す必要があります BeginReceiveFromEndReceiveFrom は、操作が完了するまで呼び出し元のスレッドをブロックします。

ipPacketInformationデータグラムがユニキャスト、マルチキャスト、またはブロードキャスト アドレスを使用して送信されたかどうかを確認します。

注意

を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。

適用対象