Socket.BeginReceive Socket.BeginReceive Socket.BeginReceive Socket.BeginReceive Method

定義

接続されている Socket からの非同期のデータ受信を開始します。Begins to asynchronously receive data from a connected Socket.

オーバーロード

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

接続されている Socket からの非同期のデータ受信を開始します。Begins to asynchronously receive data from a connected Socket.

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

接続されている Socket からの非同期のデータ受信を開始します。Begins to asynchronously receive data from a connected Socket.

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

接続されている Socket からの非同期のデータ受信を開始します。Begins to asynchronously receive data from a connected Socket.

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

接続されている Socket からの非同期のデータ受信を開始します。Begins to asynchronously receive data from a connected Socket.

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

接続されている Socket からの非同期のデータ受信を開始します。Begins to asynchronously receive data from a connected Socket.

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags flags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % error, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags flags, out System.Net.Sockets.SocketError error, 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, flags As SocketFlags, ByRef error As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

buffer
Byte[]

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

offset
Int32 Int32 Int32 Int32

受信データを格納する buffer内の場所。The location in buffer to store the received data.

size
Int32 Int32 Int32 Int32

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

socketFlags
SocketFlags SocketFlags SocketFlags SocketFlags

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

errorCode
SocketError SocketError SocketError SocketError

ソケット エラーを格納する SocketError オブジェクト。A SocketError object that stores the socket error.

callback
AsyncCallback AsyncCallback AsyncCallback AsyncCallback

操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the operation is complete.

state
Object Object Object Object

受信操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object that contains information about the receive operation. このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。This object is passed to the EndReceive(IAsyncResult) delegate when the operation is complete.

戻り値

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

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。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.

注釈

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

操作が完了するまで、このメソッドはブロックされません。This method does not block until the operation is complete. 操作が完了するまでにブロックするのいずれかの操作を使用して、Receiveメソッドのオーバー ロードします。To block until the operation is complete, use one of the Receive method overloads.

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

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

注意

表示された場合、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.

注意

そのスレッドが終了する場合は、特定のスレッドによって開始されたすべての I/O が取り消されました。All I/O initiated by a given thread is canceled when that thread exits. 保留中の非同期操作は、操作が完了する前に、スレッドが終了した場合に失敗します。A pending asynchronous operation can fail if the thread exits before the operation completes.

注意

state ユーザー定義のクラスのインスタンス化されます。state is an instantiation of a user-defined class.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。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.

こちらもご覧ください

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

接続されている Socket からの非同期のデータ受信を開始します。Begins to asynchronously receive data from a connected Socket.

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socket_flags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socket_flags, 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, socket_flags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

buffer
Byte[]

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

offset
Int32 Int32 Int32 Int32

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

size
Int32 Int32 Int32 Int32

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

socketFlags
SocketFlags SocketFlags SocketFlags SocketFlags

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

callback
AsyncCallback AsyncCallback AsyncCallback AsyncCallback

操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the operation is complete.

state
Object Object Object Object

受信操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object that contains information about the receive operation. このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。This object is passed to the EndReceive(IAsyncResult) delegate when the operation is complete.

戻り値

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

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。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 following code example begins to asynchronously receive data from a connected Socket.

public ref class StateObject
{
public:
   literal int BUFFER_SIZE = 1024;
   Socket^ workSocket;
   array<Byte>^ buffer;
   StringBuilder^ sb;
   StateObject() : workSocket( nullptr )
   {
      buffer = gcnew array<Byte>(BUFFER_SIZE);
      sb = gcnew StringBuilder;
   }
};
public class StateObject{
     public Socket workSocket = null;
     public const int BUFFER_SIZE = 1024;
     public byte[] buffer = new byte[BUFFER_SIZE];
     public StringBuilder sb = new StringBuilder();
}
Public Class StateObject
   Public workSocket As Socket = Nothing
   Public const BUFFER_SIZE As Integer = 1024
   Public buffer(BUFFER_SIZE) As byte
   Public sb As New StringBuilder()
End Class 'StateObject
static void Listen_Callback( IAsyncResult^ ar )
{
   allDone->Set();
   Socket^ s = safe_cast<Socket^>(ar->AsyncState);
   Socket^ s2 = s->EndAccept( ar );
   StateObject^ so2 = gcnew StateObject;
   so2->workSocket = s2;
   s2->BeginReceive( so2->buffer, 0, StateObject::BUFFER_SIZE, SocketFlags::None,
      gcnew AsyncCallback( &Async_Send_Receive::Read_Callback ), so2 );
}
public static void Listen_Callback(IAsyncResult ar){
     allDone.Set();
     Socket s = (Socket) ar.AsyncState;
     Socket s2 = s.EndAccept(ar);
     StateObject so2 = new StateObject();
     so2.workSocket = s2;
     s2.BeginReceive(so2.buffer, 0, StateObject.BUFFER_SIZE,0,
	                       new AsyncCallback(Async_Send_Receive.Read_Callback), so2);	
}
Public Shared Sub Listen_Callback(ar As IAsyncResult)
   allDone.Set()
   Dim s As Socket = CType(ar.AsyncState, Socket)
   Dim s2 As Socket = s.EndAccept(ar)
   Dim so2 As New StateObject()
   so2.workSocket = s2
   s2.BeginReceive(so2.buffer, 0, StateObject.BUFFER_SIZE, 0, New AsyncCallback(AddressOf Async_Send_Receive.Read_Callback), so2)
End Sub 'Listen_Callback

static void Read_Callback( IAsyncResult^ ar )
{
   StateObject^ so = safe_cast<StateObject^>(ar->AsyncState);
   Socket^ s = so->workSocket;

   int read = s->EndReceive( ar );

   if ( read > 0 )
   {
      so->sb->Append( Encoding::ASCII->GetString( so->buffer, 0, read ) );
      s->BeginReceive( so->buffer, 0, StateObject::BUFFER_SIZE, SocketFlags::None,
         gcnew AsyncCallback( &Async_Send_Receive::Read_Callback ), so );
   }
   else
   {
      if ( so->sb->Length > 1 )
      {
         //All of the data has been read, so displays it to the console
         String^ strContent = so->sb->ToString();
         Console::WriteLine( String::Format( "Read {0} byte from socket" +
            " data = {1} ", strContent->Length, strContent ) );
      }
      s->Close();
   }
}
public static void Read_Callback(IAsyncResult ar){
	StateObject so = (StateObject) ar.AsyncState;
	Socket s = so.workSocket;

	int read = s.EndReceive(ar);

	if (read > 0) {
            so.sb.Append(Encoding.ASCII.GetString(so.buffer, 0, read));
            s.BeginReceive(so.buffer, 0, StateObject.BUFFER_SIZE, 0, 
            	                     new AsyncCallback(Async_Send_Receive.Read_Callback), so);
	}
	else{
	     if (so.sb.Length > 1) {
	          //All of the data has been read, so displays it to the console
	          string strContent;
	          strContent = so.sb.ToString();
	          Console.WriteLine(String.Format("Read {0} byte from socket" + 
	          	               "data = {1} ", strContent.Length, strContent));
	     }
	     s.Close();
	}
}
Public Shared Sub Read_Callback(ar As IAsyncResult)
   Dim so As StateObject = CType(ar.AsyncState, StateObject)
   Dim s As Socket = so.workSocket
   
   Dim read As Integer = s.EndReceive(ar)
   
   If read > 0 Then
      so.sb.Append(Encoding.ASCII.GetString(so.buffer, 0, read))
      s.BeginReceive(so.buffer, 0, StateObject.BUFFER_SIZE, 0, New AsyncCallback(AddressOf Async_Send_Receive.Read_Callback), so)
   Else
      If so.sb.Length > 1 Then
         'All the data has been read, so displays it to the console
         Dim strContent As String
         strContent = so.sb.ToString()
         Console.WriteLine([String].Format("Read {0} byte from socket" + "data = {1} ", strContent.Length, strContent))
      End If
      s.Close()
   End If
End Sub 'Read_Callback

注釈

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

操作が完了するまで、このメソッドはブロックされません。This method does not block until the operation is complete. 操作が完了するまでにブロックするのいずれかの操作を使用して、Receiveメソッドのオーバー ロードします。To block until the operation is complete, use one of the Receive method overloads.

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

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

注意

表示された場合、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.

注意

そのスレッドが終了する場合は、特定のスレッドによって開始されたすべての I/O が取り消されました。All I/O initiated by a given thread is canceled when that thread exits. 保留中の非同期操作は、操作が完了する前に、スレッドが終了した場合に失敗します。A pending asynchronous operation can fail if the thread exits before the operation completes.

注意

state ユーザー定義のクラスのインスタンス化されます。state is an instantiation of a user-defined class.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。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.

こちらもご覧ください

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

重要

この API は CLS 準拠ではありません。

接続されている Socket からの非同期のデータ受信を開始します。Begins to asynchronously receive data from a connected Socket.

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
[System.CLSCompliant(false)]
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

パラメーター

buffers
IList<ArraySegment<Byte>>

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

socketFlags
SocketFlags SocketFlags SocketFlags SocketFlags

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

callback
AsyncCallback AsyncCallback AsyncCallback AsyncCallback

操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the operation is complete.

state
Object Object Object Object

受信操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object that contains information about the receive operation. このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。This object is passed to the EndReceive(IAsyncResult) delegate when the operation is complete.

戻り値

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

例外

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

注釈

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

操作が完了するまで、このメソッドはブロックされません。This method does not block until the operation is complete. 操作が完了するまでにブロックするのいずれかの操作を使用して、Receiveメソッドのオーバー ロードします。To block until the operation is complete, use one of the Receive method overloads.

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

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

注意

表示された場合、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.

注意

そのスレッドが終了する場合は、特定のスレッドによって開始されたすべての I/O が取り消されました。All I/O initiated by a given thread is canceled when that thread exits. 保留中の非同期操作は、操作が完了する前に、スレッドが終了した場合に失敗します。A pending asynchronous operation can fail if the thread exits before the operation completes.

注意

state ユーザー定義のクラスのインスタンス化されます。state is an instantiation of a user-defined class.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。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.

こちらもご覧ください

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

重要

この API は CLS 準拠ではありません。

接続されている Socket からの非同期のデータ受信を開始します。Begins to asynchronously receive data from a connected 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);
[System.CLSCompliant(false)]
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 *  * AsyncCallback * obj -> IAsyncResult

パラメーター

buffers
IList<ArraySegment<Byte>>

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

socketFlags
SocketFlags SocketFlags SocketFlags SocketFlags

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

errorCode
SocketError SocketError SocketError SocketError

ソケット エラーを格納する SocketError オブジェクト。A SocketError object that stores the socket error.

callback
AsyncCallback AsyncCallback AsyncCallback AsyncCallback

操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the operation is complete.

state
Object Object Object Object

受信操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object that contains information about the receive operation. このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。This object is passed to the EndReceive(IAsyncResult) delegate when the operation is complete.

戻り値

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

例外

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

注釈

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

操作が完了するまで、このメソッドはブロックされません。This method does not block until the operation is complete. 操作が完了するまでにブロックするのいずれかの操作を使用して、Receiveメソッドのオーバー ロードします。To block until the operation is complete, use one of the Receive method overloads.

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

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

注意

表示された場合、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.

注意

そのスレッドが終了する場合は、特定のスレッドによって開始されたすべての I/O が取り消されました。All I/O initiated by a given thread is canceled when that thread exits. 保留中の非同期操作は、操作が完了する前に、スレッドが終了した場合に失敗します。A pending asynchronous operation can fail if the thread exits before the operation completes.

注意

state ユーザー定義のクラスのインスタンス化されます。state is an instantiation of a user-defined class.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。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.

こちらもご覧ください

適用対象