Socket.BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) Socket.BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) Socket.BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) Method

定義

指定した SocketFlags を使用し、指定したバイト数のデータの非同期受信を開始して、データ バッファー内の指定した位置に格納します。さらに、エンドポイントとパケット情報を格納します。Begins to asynchronously receive the specified number of bytes of data into the specified location of the data buffer, using the specified SocketFlags, and stores the endpoint and packet information.

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 *  * AsyncCallback * obj -> IAsyncResult

パラメーター

buffer
Byte[]

受信したデータの保存場所となる Byte 型の配列。An array of type Byte that is the storage location for the received data.

offset
Int32 Int32 Int32

データを格納する、bufferパラメーター内の、インデックス番号が 0 から始まる位置。The zero-based position in the buffer parameter at which to store the data.

size
Int32 Int32 Int32

受信するバイト数。The number of bytes to receive.

socketFlags
SocketFlags SocketFlags SocketFlags

SocketFlags 値のビットごとの組み合わせ。A bitwise combination of the SocketFlags values.

remoteEP
EndPoint EndPoint EndPoint

データのソースを表す EndPointAn EndPoint that represents the source of the data.

callback
AsyncCallback AsyncCallback AsyncCallback

AsyncCallback デリゲート。The AsyncCallback delegate.

state
Object Object Object

この要求のステータス情報を格納するオブジェクト。An object that contains state information for this request.

戻り値

非同期の読み取りを参照する IAsyncResultAn IAsyncResult that references the asynchronous read.

例外

buffernullです。buffer is null.

- または --or- remoteEPnullです。remoteEP is null.

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.

offset が 0 未満です。offset is less than 0.

または-or- offsetbuffer の長さを超えています。offset is greater than the length of buffer.

または-or- size が 0 未満です。size is less than 0.

または-or- size が、buffer の長さから offset パラメーターの値を引いた値を超えています。size is greater than the length of buffer minus the value of the offset parameter.

Socket が閉じられました。The Socket has been closed.

Windows 2000 以前のオペレーティング システムです。このメソッドを使用するには、Windows XP が必要です。The operating system is Windows 2000 or earlier, and this method requires Windows XP.

注釈

非同期の受信操作を呼び出して完了する必要があります、EndReceiveMessageFromメソッド。The asynchronous receive operation must be completed by calling the EndReceiveMessageFrom method. 通常、メソッドは、によって呼び出される、asyncCallbackを委任します。Typically, the method is invoked by the asyncCallback delegate.

操作が完了するまで、このメソッドはブロックされません。This method does not block until the operation completes. 操作が完了するまでにブロックするを使用して、ReceiveMessageFromメソッド。To block until the operation completes, use the ReceiveMessageFrom method.

キャンセルする、保留中BeginReceiveMessageFromを呼び出し、Closeメソッド。To cancel a pending BeginReceiveMessageFrom, call the Close method.

詳細については、非同期プログラミング モデルを使用して、次を参照してくださいCalling Synchronous Methods Asynchronously。For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously

このメソッドにデータを読み取り、bufferパラメーターとキャプチャをリモート データの送信元エンドポイントをホストするほか、受信したパケットに関する情報。This method reads data into the buffer parameter, and captures the remote host endpoint from which the data is sent, as well as information about the received packet. このエンドポイントを取得する方法についてを参照してくださいEndReceiveFromします。For information on how to retrieve this endpoint, refer to EndReceiveFrom. このメソッドは非同期的に不明なホストまたは複数のホストからコネクションレスのデータグラムを受信する場合に便利です。This method is most useful if you intend to asynchronously receive connectionless datagrams from an unknown host or multiple hosts.

注意

表示された場合、SocketExceptionを使用して、SocketException.ErrorCode特定のエラー コードを取得するプロパティ。If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。This member outputs trace information when you enable network tracing in your application. 詳細については、次を参照してください。ネットワークのトレースを .NET Framework でします。For more information, see Network Tracing in the .NET Framework.

注意

非同期の実行コンテキスト (セキュリティ コンテキスト、権限を借用したユーザー、および呼び出し元のコンテキスト) がキャッシュされるSocketメソッド。The execution context (the security context, the impersonated user, and the calling context) is cached for the asynchronous Socket methods. 特定のコンテキストの最初の使用後に (特定の非同期Socketメソッドは、特定のSocketインスタンス、および特定のコールバック)、それ以降はそのコンテキストのパフォーマンスの向上が表示されます。After the first use of a particular context (a specific asynchronous Socket method, a specific Socket instance, and a specific callback), subsequent uses of that context will see a performance improvement.

適用対象