Socket.SendAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
SendAsync(ReadOnlyMemory<Byte>, CancellationToken) |
接続されているソケットにデータを送信します。 |
SendAsync(IList<ArraySegment<Byte>>, SocketFlags) |
接続されているソケットにデータを送信します。 |
SendAsync(ArraySegment<Byte>, SocketFlags) |
接続されているソケットにデータを送信します。 |
SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken) |
接続されているソケットにデータを送信します。 |
SendAsync(IList<ArraySegment<Byte>>) |
接続されているソケットにデータを送信します。 |
SendAsync(ArraySegment<Byte>) |
接続されているソケットにデータを送信します。 |
SendAsync(SocketAsyncEventArgs) |
接続されている Socket オブジェクトに、データを非同期に送信します。 |
SendAsync(ReadOnlyMemory<Byte>, CancellationToken)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されているソケットにデータを送信します。
public System.Threading.Tasks.ValueTask<int> SendAsync (ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
member this.SendAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function SendAsync (buffer As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
パラメーター
- buffer
- ReadOnlyMemory<Byte>
送信するデータのバッファー。
- cancellationToken
- CancellationToken
非同期操作を取り消すために使用できるキャンセル トークン。
戻り値
送信されたバイト数で完了する非同期タスク。
例外
キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。
適用対象
SendAsync(IList<ArraySegment<Byte>>, SocketFlags)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されているソケットにデータを送信します。
public:
System::Threading::Tasks::Task<int> ^ SendAsync(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags);
public System.Threading.Tasks.Task<int> SendAsync (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags);
member this.SendAsync : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
Public Function SendAsync (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags) As Task(Of Integer)
パラメーター
- buffers
- IList<ArraySegment<Byte>>
送信するデータのバッファーの一覧。
- socketFlags
- SocketFlags
データの送信時に使用される SocketFlags 値のビットごとの組み合わせ。
戻り値
送信されたバイト数で完了する非同期タスク。
例外
buffers
が null
です。
ソケットへのアクセスを試行しているときにエラーが発生しました。
Socket が閉じられました。
注釈
このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって Send(IList<ArraySegment<Byte>>, SocketFlags)スローされる例外に関するページを参照してください。
適用対象
SendAsync(ArraySegment<Byte>, SocketFlags)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されているソケットにデータを送信します。
public:
System::Threading::Tasks::Task<int> ^ SendAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags);
public System.Threading.Tasks.Task<int> SendAsync (ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags);
member this.SendAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
Public Function SendAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags) As Task(Of Integer)
パラメーター
- buffer
- ArraySegment<Byte>
送信するデータのバッファー。
- socketFlags
- SocketFlags
データの送信時に使用される SocketFlags 値のビットごとの組み合わせ。
戻り値
送信されたバイト数で完了する非同期タスク。
例外
ソケットへのアクセスを試行しているときにエラーが発生しました。
Socket が閉じられました。
適用対象
SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されているソケットにデータを送信します。
public System.Threading.Tasks.ValueTask<int> SendAsync (ReadOnlyMemory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken = default);
member this.SendAsync : ReadOnlyMemory<byte> * System.Net.Sockets.SocketFlags * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function SendAsync (buffer As ReadOnlyMemory(Of Byte), socketFlags As SocketFlags, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
パラメーター
- buffer
- ReadOnlyMemory<Byte>
送信するデータのバッファー。
- socketFlags
- SocketFlags
データの送信時に使用される SocketFlags 値のビットごとの組み合わせ。
- cancellationToken
- CancellationToken
非同期操作を取り消すために使用できるキャンセル トークン。
戻り値
送信されたバイト数で完了する非同期タスク。
例外
ソケットへのアクセスを試行しているときにエラーが発生しました。
Socket が閉じられました。
キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。
適用対象
SendAsync(IList<ArraySegment<Byte>>)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されているソケットにデータを送信します。
public:
System::Threading::Tasks::Task<int> ^ SendAsync(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers);
public System.Threading.Tasks.Task<int> SendAsync (System.Collections.Generic.IList<ArraySegment<byte>> buffers);
member this.SendAsync : System.Collections.Generic.IList<ArraySegment<byte>> -> System.Threading.Tasks.Task<int>
Public Function SendAsync (buffers As IList(Of ArraySegment(Of Byte))) As Task(Of Integer)
パラメーター
- buffers
- IList<ArraySegment<Byte>>
送信するデータのバッファーの一覧。
戻り値
送信されたバイト数で完了する非同期タスク。
例外
buffers
が null
です。
ソケットへのアクセスを試行しているときにエラーが発生しました。
Socket が閉じられました。
注釈
このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって Send(IList<ArraySegment<Byte>>)スローされる例外に関するページを参照してください。
適用対象
SendAsync(ArraySegment<Byte>)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されているソケットにデータを送信します。
public:
System::Threading::Tasks::Task<int> ^ SendAsync(ArraySegment<System::Byte> buffer);
public System.Threading.Tasks.Task<int> SendAsync (ArraySegment<byte> buffer);
member this.SendAsync : ArraySegment<byte> -> System.Threading.Tasks.Task<int>
Public Function SendAsync (buffer As ArraySegment(Of Byte)) As Task(Of Integer)
パラメーター
- buffer
- ArraySegment<Byte>
送信するデータのバッファー。
戻り値
送信されたバイト数で完了する非同期タスク。
例外
ソケットへのアクセスを試行しているときにエラーが発生しました。
Socket が閉じられました。
適用対象
SendAsync(SocketAsyncEventArgs)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
接続されている Socket オブジェクトに、データを非同期に送信します。
public:
bool SendAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool SendAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.SendAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function SendAsync (e As SocketAsyncEventArgs) As Boolean
パラメーター
この非同期ソケット操作に使用する SocketAsyncEventArgs オブジェクト。
戻り値
I/O 操作が保留中の場合は true
。 操作の完了時に、e
パラメーターの Completed イベントが発生します。
I/O 操作が同期的に完了した場合は false
。 この場合、e
パラメーターの Completed イベントは発生しません。メソッド呼び出しから制御が戻った直後に、パラメーターとして渡された e
オブジェクトを調べて操作の結果を取得できます。
例外
e
パラメーターの Buffer プロパティまたは BufferList プロパティは、有効なバッファーを参照する必要があります。 これらのプロパティは、どちらか 1 つを設定できます。一度に両方のプロパティを設定することはできません。
e
パラメーターに指定された SocketAsyncEventArgs オブジェクトを使用してソケット操作が既に進行していました。
Socket が閉じられました。
Socket がまだ接続されていないか、Accept()、AcceptAsync(SocketAsyncEventArgs)、または BeginAccept の各メソッドによって取得されませんでした。
注釈
メソッドは SendAsync 、接続指向ソケット上の 1 つ以上のバッファーから送信データを書き込むのに使用されます。 ただし、このメソッドは、接続操作でリモート ホストを指定したコネクションレス ソケットでも使用できます。
メソッドはSendAsync、、ConnectAcceptAsyncBeginAcceptBeginConnectまたは ConnectAsync メソッドでAccept確立されたリモート ホストへの非同期送信操作を開始します。
このメソッドを正常に呼び出すには、オブジェクトの System.Net.Sockets.SocketAsyncEventArgs 次のプロパティとイベントが必要です。
SocketAsyncEventArgs.Buffer または SocketAsyncEventArgs.BufferList
SocketAsyncEventArgs.Countが設定されている場合SocketAsyncEventArgs.Buffer
SocketAsyncEventArgs.Offsetが設定されている場合SocketAsyncEventArgs.Buffer
呼び出し元は、コールバック メソッドで情報を取得できるように、 メソッドをSendAsync呼び出す前に必要な任意のユーザー状態オブジェクトに プロパティを設定SocketAsyncEventArgs.UserTokenできます。 コールバックで 1 つのオブジェクトよりも多くの情報が必要な場合は、他の必須状態情報をメンバーとして保持する小さなクラスを作成できます。
メソッドはSendAsync、、、または ConnectAsyncを最初に呼び出AcceptBeginConnectAcceptAsyncBeginAcceptConnectさない場合に例外をスローします。
メソッドを SendAsync 呼び出すと、別の実行スレッド内でデータを送信できます。
メッセージ指向ソケットの場合は、基になる Windows ソケット サービス プロバイダーの最大メッセージ サイズを超えないでください。 データが長すぎて基になるサービス プロバイダーをアトミックに渡すことができない場合、データは送信されません SendAsync 。メソッドは、 をネイティブ Winsock WSAEMSGSIZE エラー コード (10040) に設定して をスロー SocketExceptionSocketAsyncEventArgs.SocketError します。
メソッドが正常に完了しても、 SendAsync データが正常に配信されたことは示されないことに注意してください。
こちらもご覧ください
適用対象
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示