Socket.BeginReceiveMessageFrom メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した SocketFlagsを使用して、指定したバイト数のデータをデータ バッファーの指定した場所に非同期的に受信し始め、エンドポイントとパケット情報を格納します。
public:
IAsyncResult ^ BeginReceiveMessageFrom(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ % remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceiveMessageFrom(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginReceiveMessageFrom : byte[] * int * int * System.Net.Sockets.SocketFlags * EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceiveMessageFrom (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef remoteEP As EndPoint, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- offset
- Int32
データを格納する buffer パラメーター内の 0 から始まる位置。
- size
- Int32
受信するバイト数。
- socketFlags
- SocketFlags
SocketFlags値のビットごとの組み合わせ。
- callback
- AsyncCallback
AsyncCallback デリゲート。
- state
- Object
この要求の状態情報を含むオブジェクト。
返品
非同期読み取りを参照する IAsyncResult 。
例外
.NET Framework のみ: ソケットにアクセスしようとしたときにエラーが発生しました。
offset が 0 未満です。
-または-
offset が bufferの長さを超えています。
-または-
size が 0 未満です。
-または-
size は、 buffer の長さから offset パラメーターの値を引いた値より大きい値です。
Socketが閉じられました。
注釈
Important
これは互換性 API です。 新しい開発には APM (Begin* および End*) メソッドを使用しないことをお勧めします。 代わりに、 Task ベースの同等の値を使用します。
操作の完了に関する通知を受け取るために、 AsyncCallback を実装するコールバックを BeginReceiveMessageFrom に渡すことができます。 基になるネットワーク スタックが操作を同期的に完了すると、コールバックはインラインで実行され、 BeginReceiveMessageFromの呼び出し中に行われます。 この場合、返されたCompletedSynchronouslyのIAsyncResult プロパティは、メソッドが同期的に完了したことを示すtrueに設定されます。
AsyncState メソッドに渡された状態オブジェクトを取得するには、IAsyncResultのBeginReceiveMessageFrom プロパティを使用します。
非同期 BeginReceiveMessageFrom 操作は、 EndReceiveMessageFrom メソッドを呼び出すことによって完了する必要があります。 通常、メソッドは AsyncCallback デリゲートによって呼び出されます。 EndReceiveMessageFrom は、操作が完了するまで呼び出し元のスレッドをブロックします。
保留中の BeginReceiveMessageFromを取り消すには、 Close メソッドを呼び出します。
このメソッドは、 buffer パラメーターにデータを読み取り、データの送信元のリモート ホスト エンドポイントと、受信したパケットに関する情報をキャプチャします。 このエンドポイントを取得する方法については、 EndReceiveMessageFromを参照してください。 この方法は、不明なホストまたは複数のホストからコネクションレス データグラムを非同期的に受信する場合に最も便利です。
Note
SocketExceptionを受け取った場合は、SocketException.ErrorCode プロパティを使用して特定のエラー コードを取得します。
Note
このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「Network Tracing in .NET Framework」を参照してください。
Note
実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定の Socket インスタンス、および特定のコールバック) を最初に使用すると、そのコンテキストの後続の使用でパフォーマンスが向上します。