Socket.BeginReceive メソッド

定義

接続されている Socket からの非同期のデータ受信を開始します。

オーバーロード

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

接続されている Socket からの非同期のデータ受信を開始します。

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

接続されている Socket からの非同期のデータ受信を開始します。

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

接続されている Socket からの非同期のデータ受信を開始します。

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

接続されている Socket からの非同期のデータ受信を開始します。

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

ソース:
Socket.cs
ソース:
Socket.cs
ソース:
Socket.cs

接続されている Socket からの非同期のデータ受信を開始します。

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

buffer
Byte[]

受信したデータの保存場所となる Byte 型の配列。

offset
Int32

受信データを格納する buffer内の場所。

size
Int32

受信するバイト数。

socketFlags
SocketFlags

SocketFlags 値のビットごとの組み合わせ。

errorCode
SocketError

ソケット エラーを格納する SocketError オブジェクト。

callback
AsyncCallback

操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

state
Object

受信操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。

戻り値

非同期の読み取りを参照する IAsyncResult

例外

buffernull です。

.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。

Socket が閉じられました。

offset が 0 未満です。

または

offsetbuffer の長さを超えています。

または

size が 0 未満です。

- または -

size が、buffer の長さから offset パラメーターの値を引いた値を超えています。

注釈

重要

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

を実装AsyncCallbackBeginReceiveするコールバックを渡して、操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了すると、 への呼び出し BeginReceive中にコールバックがインラインで実行されることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true 設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResultBeginReceive 使用します。

非同期 BeginReceive 操作は、 メソッドを呼び出して完了する EndReceive 必要があります。 通常、 メソッドはデリゲートによって AsyncCallback 呼び出されます。 EndReceive は、操作が完了するまで呼び出し元のスレッドをブロックします。

保留中BeginReceiveの をSocketキャンセルするには、 を閉じます。 非同期操作の Close 進行中に メソッドが呼び出されると、 メソッドに BeginReceive 提供されるコールバックが呼び出されます。 メソッドのEndReceive後続の呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) がスロー ObjectDisposedException され、操作が取り消されたことを示します。

注意

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

注意

特定のスレッドによって開始されたすべての I/O は、そのスレッドが終了すると取り消されます。 操作が完了する前にスレッドが終了すると、保留中の非同期操作が失敗する可能性があります。

注意

state は、ユーザー定義クラスのインスタンス化です。

Note

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

注意

実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定のインスタンス、および特定 Socket のコールバック) を最初に使用すると、そのコンテキストの後続の使用によってパフォーマンスが向上します。

こちらもご覧ください

適用対象

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

ソース:
Socket.cs
ソース:
Socket.cs
ソース:
Socket.cs

接続されている Socket からの非同期のデータ受信を開始します。

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

buffer
Byte[]

受信したデータの保存場所となる Byte 型の配列。

offset
Int32

受信データを格納する、bufferパラメーター内の、インデックス番号が 0 から始まる位置。

size
Int32

受信するバイト数。

socketFlags
SocketFlags

SocketFlags 値のビットごとの組み合わせ。

callback
AsyncCallback

操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

state
Object

受信操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。

戻り値

非同期の読み取りを参照する IAsyncResult

例外

buffernull です。

.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。

Socket が閉じられました。

offset が 0 未満です。

または

offsetbuffer の長さを超えています。

または

size が 0 未満です。

- または -

size が、buffer の長さから offset パラメーターの値を引いた値を超えています。

注釈

重要

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

を実装AsyncCallbackBeginReceiveするコールバックを渡して、操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了すると、 への呼び出し BeginReceive中にコールバックがインラインで実行されることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true 設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResultBeginReceive 使用します。

非同期 BeginReceive 操作は、 メソッドを呼び出して完了する EndReceive 必要があります。 通常、 メソッドはデリゲートによって AsyncCallback 呼び出されます。 EndReceive は、操作が完了するまで呼び出し元のスレッドをブロックします。

保留中BeginReceiveの をSocketキャンセルするには、 を閉じます。 非同期操作の Close 進行中に メソッドが呼び出されると、 メソッドに BeginReceive 提供されるコールバックが呼び出されます。 メソッドのEndReceive後続の呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) がスロー ObjectDisposedException され、操作が取り消されたことを示します。

注意

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

注意

特定のスレッドによって開始されたすべての I/O は、そのスレッドが終了すると取り消されます。 操作が完了する前にスレッドが終了すると、保留中の非同期操作が失敗する可能性があります。

注意

state は、ユーザー定義クラスのインスタンス化です。

Note

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

注意

実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定 Socket のインスタンス、および特定のコールバック) を最初に使用した後、そのコンテキストを後続で使用すると、パフォーマンスが向上します。

こちらもご覧ください

適用対象

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

ソース:
Socket.cs
ソース:
Socket.cs
ソース:
Socket.cs

接続されている Socket からの非同期のデータ受信を開始します。

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

buffers
IList<ArraySegment<Byte>>

受信したデータの保存場所となる Byte 型の配列。

socketFlags
SocketFlags

SocketFlags 値のビットごとの組み合わせ。

callback
AsyncCallback

操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

state
Object

受信操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。

戻り値

非同期の読み取りを参照する IAsyncResult

例外

buffernull です。

.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。

Socket が閉じられました。

注釈

重要

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

を実装AsyncCallbackBeginReceiveするコールバックを渡して、操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了すると、 への呼び出し BeginReceive中にコールバックがインラインで実行されることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true 設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResultBeginReceive 使用します。

非同期 BeginReceive 操作は、 メソッドを呼び出して完了する EndReceive 必要があります。 通常、 メソッドはデリゲートによって AsyncCallback 呼び出されます。 EndReceive は、操作が完了するまで呼び出し元のスレッドをブロックします。

保留中BeginReceiveの をSocket取り消すには、 を閉じます。 非同期操作の Close 実行中に メソッドが呼び出されると、 メソッドに BeginReceive 提供されるコールバックが呼び出されます。 メソッドの後続のEndReceive呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) をスロー ObjectDisposedException して、操作が取り消されたことを示します。

注意

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

注意

特定のスレッドによって開始されたすべての I/O は、そのスレッドが終了すると取り消されます。 保留中の非同期操作は、操作が完了する前にスレッドが終了すると失敗する可能性があります。

注意

state は、ユーザー定義クラスのインスタンス化です。

Note

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

注意

実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定 Socket のインスタンス、および特定のコールバック) を最初に使用した後、そのコンテキストを後続で使用すると、パフォーマンスが向上します。

こちらもご覧ください

適用対象

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

ソース:
Socket.cs
ソース:
Socket.cs
ソース:
Socket.cs

接続されている Socket からの非同期のデータ受信を開始します。

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

buffers
IList<ArraySegment<Byte>>

受信したデータの保存場所となる Byte 型の配列。

socketFlags
SocketFlags

SocketFlags 値のビットごとの組み合わせ。

errorCode
SocketError

ソケット エラーを格納する SocketError オブジェクト。

callback
AsyncCallback

操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

state
Object

受信操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。

戻り値

非同期の読み取りを参照する IAsyncResult

例外

buffernull です。

.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。

Socket が閉じられました。

注釈

重要

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

を実装AsyncCallbackBeginReceiveするコールバックを渡して、操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了すると、 への呼び出し BeginReceive中にコールバックがインラインで実行されることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true 設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResultBeginReceive 使用します。

非同期 BeginReceive 操作は、 メソッドを呼び出して完了する EndReceive 必要があります。 通常、 メソッドはデリゲートによって AsyncCallback 呼び出されます。 EndReceive は、操作が完了するまで呼び出し元のスレッドをブロックします。

保留中BeginReceiveの をSocket取り消すには、 を閉じます。 非同期操作の Close 実行中に メソッドが呼び出されると、 メソッドに BeginReceive 提供されるコールバックが呼び出されます。 メソッドの後続のEndReceive呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) をスロー ObjectDisposedException して、操作が取り消されたことを示します。

注意

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

注意

特定のスレッドによって開始されたすべての I/O は、そのスレッドが終了すると取り消されます。 保留中の非同期操作は、操作が完了する前にスレッドが終了すると失敗する可能性があります。

注意

state は、ユーザー定義クラスのインスタンス化です。

Note

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

注意

実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定 Socket のインスタンス、および特定のコールバック) を最初に使用した後、そのコンテキストを後続で使用すると、パフォーマンスが向上します。

こちらもご覧ください

適用対象