Socket.BeginSend メソッド (ジェネリック IList, SocketFlags, AsyncCallback, Object)
アセンブリ: System (system.dll 内)

Public Function BeginSend ( _ buffers As IList(Of ArraySegment(Of Byte)), _ socketFlags As SocketFlags, _ callback As AsyncCallback, _ state As Object _ ) As IAsyncResult
Dim instance As Socket Dim buffers As IList(Of ArraySegment(Of Byte)) Dim socketFlags As SocketFlags Dim callback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginSend(buffers, socketFlags, callback, state)
public IAsyncResult BeginSend ( IList<ArraySegment<byte>> buffers, SocketFlags socketFlags, AsyncCallback callback, Object state )
public: IAsyncResult^ BeginSend ( IList<ArraySegment<unsigned char>>^ buffers, SocketFlags socketFlags, AsyncCallback^ callback, Object^ state )
public IAsyncResult BeginSend ( IList<ArraySegment<byte>> buffers, SocketFlags socketFlags, AsyncCallback callback, Object state )
public function BeginSend ( buffers : IList<ArraySegment<byte>>, socketFlags : SocketFlags, callback : AsyncCallback, state : Object ) : IAsyncResult
戻り値
非同期の送信を参照する IAsyncResult。


BeginSend メソッドは、Connect、BeginConnect、Accept、または BeginAccept の各メソッドで確立されたリモート ホストへの非同期送信操作を開始します。最初に Accept、BeginAccept、Connect、または BeginConnect を呼び出さないと、BeginSend は例外をスローします。BeginSend メソッドを呼び出すと、個別の実行スレッド内でデータを送信できます。
AsyncCallback デリゲートを実装するコールバック メソッドを作成し、その名前を BeginSend メソッドに渡すことができます。これを行うには、少なくとも、通信に使用される接続済みまたは既定の Socket が、state パラメータに格納されている必要があります。他の情報がコールバックに必要な場合は、小さなクラスまたは構造体を作成して Socket などの必要な情報を保持します。この場合、このクラスのインスタンスを、state パラメータを使用して BeginSend メソッドに渡します。
コールバック メソッドは EndSend メソッドを呼び出す必要があります。アプリケーションが BeginSend を呼び出すと、指定したコールバック メソッドが個別のスレッドを使用して実行され、EndSend は、Socket が要求バイト数を送信するか例外をスローするまでブロックします。BeginSend メソッドを呼び出してから元のスレッドをブロックする場合は、WaitHandle.WaitOne メソッドを使用します。元のスレッドの実行を継続させるには、コールバック メソッドの T:System.Threading.ManualResetEvent で Set メソッドを呼び出します。コールバック メソッドの記述に関する追加情報については、「Callback のサンプル」を参照してください。
BeginSend は、コネクション指向のプロトコルを想定していますが、Connect メソッドまたは BeginConnect メソッドを呼び出して既定のリモート ホストを確立しておけば、コネクションレスのプロトコルでも使用できます。コネクションレスのプロトコルを使用していて、複数の異なるホストにデータを送信する予定がある場合は、BeginSendTo を使用してください。BeginSendTo は、Connect で既定のリモート ホストを確立した後でも使用できます。また、BeginSend の呼び出しの前に、Connect または BeginConnect を呼び出すことによって、既定のリモート ホストを変更できます。コネクションレスのプロトコルを使用している場合は、バッファのサイズが、基になるサービス プロバイダの最大パケット サイズを超えないことを確認する必要もあります。最大サイズを超えている場合、データグラムは送信されず、BeginSend は SocketException をスローします。
DontRoute フラグを socketflags パラメータとして指定した場合、送信しようとしているデータはルーティングされません。
![]() |
---|
SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |
![]() |
---|
送信が正常に完了したからといって、データが正しく伝達されたとは限りません。トランスポート システム内に、送信対象のデータを保持するだけのバッファ領域が存在しない場合、ソケットが非ブロッキング モードに設定されていない限り、送信はブロックされます。 |

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Socket.BeginSend メソッド (Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
アセンブリ: System (system.dll 内)

Public Function BeginSend ( _ buffer As Byte(), _ offset As Integer, _ size As Integer, _ socketFlags As SocketFlags, _ callback As AsyncCallback, _ state As Object _ ) As IAsyncResult
Dim instance As Socket Dim buffer As Byte() Dim offset As Integer Dim size As Integer Dim socketFlags As SocketFlags Dim callback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginSend(buffer, offset, size, socketFlags, callback, state)
public IAsyncResult BeginSend ( byte[] buffer, int offset, int size, SocketFlags socketFlags, AsyncCallback callback, Object state )
public: IAsyncResult^ BeginSend ( array<unsigned char>^ buffer, int offset, int size, SocketFlags socketFlags, AsyncCallback^ callback, Object^ state )
public IAsyncResult BeginSend ( byte[] buffer, int offset, int size, SocketFlags socketFlags, AsyncCallback callback, Object state )
public function BeginSend ( buffer : byte[], offset : int, size : int, socketFlags : SocketFlags, callback : AsyncCallback, state : Object ) : IAsyncResult
戻り値
非同期の送信を参照する IAsyncResult。


BeginSend メソッドは、Connect、BeginConnect、Accept、または BeginAccept の各メソッドで確立されたリモート ホストへの非同期送信操作を開始します。最初に Accept、BeginAccept、Connect、または BeginConnect を呼び出さないと、BeginSend は例外をスローします。BeginSend メソッドを呼び出すと、個別の実行スレッド内でデータを送信できます。
AsyncCallback デリゲートを実装するコールバック メソッドを作成し、その名前を BeginSend メソッドに渡すことができます。これを行うには、少なくとも、通信に使用される接続済みまたは既定の Socket が、state パラメータに格納されている必要があります。他の情報がコールバックに必要な場合は、小さなクラスまたは構造体を作成して Socket などの必要な情報を保持します。この場合、このクラスのインスタンスを、state パラメータを使用して BeginSend メソッドに渡します。
コールバック メソッドは EndSend メソッドを呼び出す必要があります。アプリケーションが BeginSend を呼び出すと、指定したコールバック メソッドが個別のスレッドを使用して実行され、EndSend は、Socket が要求バイト数を送信するか例外をスローするまでブロックします。BeginSend メソッドを呼び出してから元のスレッドをブロックする場合は、WaitHandle.WaitOne メソッドを使用します。元のスレッドの実行を継続させるには、コールバック メソッドの T:System.Threading.ManualResetEvent で Set メソッドを呼び出します。コールバック メソッドの記述に関する追加情報については、「Callback のサンプル」を参照してください。
BeginSend は、コネクション指向のプロトコルを想定していますが、Connect メソッドまたは BeginConnect メソッドを呼び出して既定のリモート ホストを確立しておけば、コネクションレスのプロトコルでも使用できます。コネクションレスのプロトコルを使用していて、複数の異なるホストにデータを送信する予定がある場合は、BeginSendTo を使用してください。BeginSendTo は、Connect で既定のリモート ホストを確立した後でも使用できます。また、BeginSend の呼び出しの前に、Connect または BeginConnect を呼び出すことによって、既定のリモート ホストを変更できます。コネクションレスのプロトコルを使用している場合は、バッファのサイズが、基になるサービス プロバイダの最大パケット サイズを超えないことを確認する必要もあります。最大サイズを超えている場合、データグラムは送信されず、BeginSend は SocketException をスローします。
DontRoute フラグを socketflags パラメータとして指定した場合、送信しようとしているデータはルーティングされません。
![]() |
---|
SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |
![]() |
---|
送信が正常に完了したからといって、データが正しく伝達されたとは限りません。トランスポート システム内に、送信対象のデータを保持するだけのバッファ領域が存在しない場合、ソケットが非ブロッキング モードに設定されていない限り、送信はブロックされます。 |

リモート ホストへの非同期的なデータ送信を開始するコード例を次に示します。
Public Shared Sub Connect_Callback(ar As IAsyncResult) allDone.Set() Dim s As Socket = CType(ar.AsyncState, Socket) s.EndConnect(ar) Dim so2 As New StateObject() so2.workSocket = s Dim buff As Byte() = Encoding.ASCII.GetBytes("This is a test") s.BeginSend(buff, 0, buff.Length, 0, New AsyncCallback(AddressOf Async_Send_Receive.Send_Callback), so2) End Sub 'Connect_Callback
allDone.Set(); Socket s = (Socket) ar.AsyncState; s.EndConnect(ar); StateObject so2 = new StateObject(); so2.workSocket = s; byte[] buff = Encoding.ASCII.GetBytes("This is a test"); s.BeginSend(buff, 0, buff.Length,0, new AsyncCallback(Async_Send_Receive.Send_Callback), so2);
allDone->Set(); Socket^ s = safe_cast<Socket^>(ar->AsyncState); s->EndConnect( ar ); StateObject^ so2 = gcnew StateObject; so2->workSocket = s; array<Byte>^ buff = Encoding::ASCII->GetBytes( "This is a test" ); s->BeginSend( buff, 0, buff->Length, SocketFlags::None, gcnew AsyncCallback( &Async_Send_Receive::Send_Callback ), so2 );
allDone.Set(); Socket s = (Socket)ar.get_AsyncState(); s.EndConnect(ar); StateObject so2 = new StateObject(); so2.workSocket = s; ubyte buff[] = Encoding.get_ASCII().GetBytes("This is a test"); s.BeginSend(buff, 0, buff.length, (SocketFlags)0, new AsyncCallback(Async_Send_Receive.Send_Callback), so2);

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Socket.BeginSend メソッド (ジェネリック IList, SocketFlags, SocketError, AsyncCallback, Object)
アセンブリ: System (system.dll 内)

<CLSCompliantAttribute(False)> _ Public Function BeginSend ( _ buffers As IList(Of ArraySegment(Of Byte)), _ socketFlags As SocketFlags, _ <OutAttribute> ByRef errorCode As SocketError, _ callback As AsyncCallback, _ state As Object _ ) As IAsyncResult
Dim instance As Socket Dim buffers As IList(Of ArraySegment(Of Byte)) Dim socketFlags As SocketFlags Dim errorCode As SocketError Dim callback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginSend(buffers, socketFlags, errorCode, callback, state)
[CLSCompliantAttribute(false)] public IAsyncResult BeginSend ( IList<ArraySegment<byte>> buffers, SocketFlags socketFlags, out SocketError errorCode, AsyncCallback callback, Object state )
[CLSCompliantAttribute(false)] public: IAsyncResult^ BeginSend ( IList<ArraySegment<unsigned char>>^ buffers, SocketFlags socketFlags, [OutAttribute] SocketError% errorCode, AsyncCallback^ callback, Object^ state )
/** @attribute CLSCompliantAttribute(false) */ public IAsyncResult BeginSend ( IList<ArraySegment<byte>> buffers, SocketFlags socketFlags, /** @attribute OutAttribute() */ /** @ref */ SocketError errorCode, AsyncCallback callback, Object state )
戻り値
非同期の送信を参照する IAsyncResult。


BeginSend メソッドは、Connect、BeginConnect、Accept、または BeginAccept の各メソッドで確立されたリモート ホストへの非同期送信操作を開始します。最初に Accept、BeginAccept、Connect、または BeginConnect を呼び出さないと、BeginSend は例外をスローします。BeginSend メソッドを呼び出すと、個別の実行スレッド内でデータを送信できます。
AsyncCallback デリゲートを実装するコールバック メソッドを作成し、その名前を BeginSend メソッドに渡すことができます。これを行うには、少なくとも、通信に使用される接続済みまたは既定の Socket が、state パラメータに格納されている必要があります。他の情報がコールバックに必要な場合は、小さなクラスまたは構造体を作成して Socket などの必要な情報を保持します。この場合、このクラスのインスタンスを、state パラメータを使用して BeginSend メソッドに渡します。
コールバック メソッドは EndSend メソッドを呼び出す必要があります。アプリケーションが BeginSend を呼び出すと、指定したコールバック メソッドが個別のスレッドを使用して実行され、EndSend は、Socket が要求バイト数を送信するか例外をスローするまでブロックします。BeginSend メソッドを呼び出してから元のスレッドをブロックする場合は、WaitHandle.WaitOne メソッドを使用します。元のスレッドの実行を継続させるには、コールバック メソッドの T:System.Threading.ManualResetEvent で Set メソッドを呼び出します。コールバック メソッドの記述に関する追加情報については、「Callback のサンプル」を参照してください。
BeginSend は、コネクション指向のプロトコルを想定していますが、Connect メソッドまたは BeginConnect メソッドを呼び出して既定のリモート ホストを確立しておけば、コネクションレスのプロトコルでも使用できます。コネクションレスのプロトコルを使用していて、複数の異なるホストにデータを送信する予定がある場合は、BeginSendTo を使用してください。BeginSendTo は、Connect で既定のリモート ホストを確立した後でも使用できます。また、BeginSend の呼び出しの前に、Connect または BeginConnect を呼び出すことによって、既定のリモート ホストを変更できます。コネクションレスのプロトコルを使用している場合は、バッファのサイズが、基になるサービス プロバイダの最大パケット サイズを超えないことを確認する必要もあります。最大サイズを超えている場合、データグラムは送信されず、BeginSend は SocketException をスローします。
DontRoute フラグを socketflags パラメータとして指定した場合、送信しようとしているデータはルーティングされません。
![]() |
---|
SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |
![]() |
---|
送信が正常に完了したからといって、データが正しく伝達されたとは限りません。トランスポート システム内に、送信対象のデータを保持するだけのバッファ領域が存在しない場合、ソケットが非ブロッキング モードに設定されていない限り、送信はブロックされます。 |

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Socket.BeginSend メソッド (Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)
アセンブリ: System (system.dll 内)

Public Function BeginSend ( _ buffer As Byte(), _ offset As Integer, _ size As Integer, _ socketFlags As SocketFlags, _ <OutAttribute> ByRef errorCode As SocketError, _ callback As AsyncCallback, _ state As Object _ ) As IAsyncResult
Dim instance As Socket Dim buffer As Byte() Dim offset As Integer Dim size As Integer Dim socketFlags As SocketFlags Dim errorCode As SocketError Dim callback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginSend(buffer, offset, size, socketFlags, errorCode, callback, state)
public IAsyncResult BeginSend ( byte[] buffer, int offset, int size, SocketFlags socketFlags, out SocketError errorCode, AsyncCallback callback, Object state )
public: IAsyncResult^ BeginSend ( array<unsigned char>^ buffer, int offset, int size, SocketFlags socketFlags, [OutAttribute] SocketError% errorCode, AsyncCallback^ callback, Object^ state )
public IAsyncResult BeginSend ( byte[] buffer, int offset, int size, SocketFlags socketFlags, /** @attribute OutAttribute() */ /** @ref */ SocketError errorCode, AsyncCallback callback, Object state )
戻り値
非同期の送信を参照する IAsyncResult。


BeginSend メソッドは、Connect、BeginConnect、Accept、または BeginAccept の各メソッドで確立されたリモート ホストへの非同期送信操作を開始します。最初に Accept、BeginAccept、Connect、または BeginConnect を呼び出さないと、BeginSend は例外をスローします。BeginSend メソッドを呼び出すと、個別の実行スレッド内でデータを送信できます。
AsyncCallback デリゲートを実装するコールバック メソッドを作成し、その名前を BeginSend メソッドに渡すことができます。これを行うには、少なくとも、通信に使用される接続済みまたは既定の Socket が、state パラメータに格納されている必要があります。他の情報がコールバックに必要な場合は、小さなクラスまたは構造体を作成して Socket などの必要な情報を保持します。この場合、このクラスのインスタンスを、state パラメータを使用して BeginSend メソッドに渡します。
コールバック メソッドは EndSend メソッドを呼び出す必要があります。アプリケーションが BeginSend を呼び出すと、指定したコールバック メソッドが個別のスレッドを使用して実行され、EndSend は、Socket が要求バイト数を送信するか例外をスローするまでブロックします。BeginSend メソッドを呼び出してから元のスレッドをブロックする場合は、WaitHandle.WaitOne メソッドを使用します。元のスレッドの実行を継続させるには、コールバック メソッドの T:System.Threading.ManualResetEvent で Set メソッドを呼び出します。コールバック メソッドの記述に関する追加情報については、「Callback のサンプル」を参照してください。
BeginSend は、コネクション指向のプロトコルを想定していますが、Connect メソッドまたは BeginConnect メソッドを呼び出して既定のリモート ホストを確立しておけば、コネクションレスのプロトコルでも使用できます。コネクションレスのプロトコルを使用していて、複数の異なるホストにデータを送信する予定がある場合は、BeginSendTo を使用してください。BeginSendTo は、Connect で既定のリモート ホストを確立した後でも使用できます。また、BeginSend の呼び出しの前に、Connect または BeginConnect を呼び出すことによって、既定のリモート ホストを変更できます。コネクションレスのプロトコルを使用している場合は、バッファのサイズが、基になるサービス プロバイダの最大パケット サイズを超えないことを確認する必要もあります。最大サイズを超えている場合、データグラムは送信されず、BeginSend は SocketException をスローします。
DontRoute フラグを socketflags パラメータとして指定した場合、送信しようとしているデータはルーティングされません。
![]() |
---|
SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |
![]() |
---|
送信が正常に完了したからといって、データが正しく伝達されたとは限りません。トランスポート システム内に、送信対象のデータを保持するだけのバッファ領域が存在しない場合、ソケットが非ブロッキング モードに設定されていない限り、送信はブロックされます。 |

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Socket.BeginSend メソッド

名前 | 説明 |
---|---|
Socket.BeginSend (ジェネリック IList, SocketFlags, AsyncCallback, Object) | 接続されている Socket にデータを非同期的に送信します。 |
Socket.BeginSend (ジェネリック IList, SocketFlags, SocketError, AsyncCallback, Object) | 接続されている Socket にデータを非同期的に送信します。 |
Socket.BeginSend (Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) | 接続されている Socket にデータを非同期的に送信します。 .NET Compact Framework によってサポートされています。 |
Socket.BeginSend (Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) | 接続されている Socket にデータを非同期的に送信します。 |

Weblioに収録されているすべての辞書からSocket.BeginSendを検索する場合は、下記のリンクをクリックしてください。

- Socket.BeginSendのページへのリンク