Socket.SendAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
SendAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Envoie des données sur un socket connecté. |
SendAsync(IList<ArraySegment<Byte>>, SocketFlags) |
Envoie des données sur un socket connecté. |
SendAsync(ArraySegment<Byte>, SocketFlags) |
Envoie des données sur un socket connecté. |
SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken) |
Envoie des données sur un socket connecté. |
SendAsync(IList<ArraySegment<Byte>>) |
Envoie des données sur un socket connecté. |
SendAsync(ArraySegment<Byte>) |
Envoie des données sur un socket connecté. |
SendAsync(SocketAsyncEventArgs) |
Envoie des données de façon asynchrone à un objet Socket connecté. |
SendAsync(ReadOnlyMemory<Byte>, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Envoie des données sur un socket connecté.
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)
Paramètres
- buffer
- ReadOnlyMemory<Byte>
Mémoire tampon pour les données à envoyer.
- cancellationToken
- CancellationToken
Jeton d’annulation qui peut être utilisé pour annuler l’opération asynchrone.
Retours
Tâche asynchrone qui se termine avec le nombre d’octets envoyés.
Exceptions
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
S’applique à
SendAsync(IList<ArraySegment<Byte>>, SocketFlags)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Envoie des données sur un socket connecté.
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)
Paramètres
- buffers
- IList<ArraySegment<Byte>>
Liste des mémoires tampons pour les données à envoyer.
- socketFlags
- SocketFlags
Combinaison de bits de valeurs SocketFlags qui seront utilisées lors de l’envoi des données.
Retours
Tâche asynchrone qui se termine avec le nombre d’octets envoyés.
Exceptions
buffers
a la valeur null
.
Une erreur s’est produite pendant la tentative d’accès au socket.
Socket a été fermé.
Remarques
Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que le équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par Send(IList<ArraySegment<Byte>>, SocketFlags).
S’applique à
SendAsync(ArraySegment<Byte>, SocketFlags)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Envoie des données sur un socket connecté.
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)
Paramètres
- buffer
- ArraySegment<Byte>
Mémoire tampon pour les données à envoyer.
- socketFlags
- SocketFlags
Combinaison de bits de valeurs SocketFlags qui seront utilisées lors de l’envoi des données.
Retours
Tâche asynchrone qui se termine avec le nombre d’octets envoyés.
Exceptions
Une erreur s’est produite pendant la tentative d’accès au socket.
Socket a été fermé.
S’applique à
SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Envoie des données sur un socket connecté.
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)
Paramètres
- buffer
- ReadOnlyMemory<Byte>
Mémoire tampon pour les données à envoyer.
- socketFlags
- SocketFlags
Combinaison de bits de valeurs SocketFlags qui seront utilisées lors de l’envoi des données.
- cancellationToken
- CancellationToken
Jeton d’annulation qui peut être utilisé pour annuler l’opération asynchrone.
Retours
Tâche asynchrone qui se termine avec le nombre d’octets envoyés.
Exceptions
Une erreur s’est produite pendant la tentative d’accès au socket.
Socket a été fermé.
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
S’applique à
SendAsync(IList<ArraySegment<Byte>>)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Envoie des données sur un socket connecté.
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)
Paramètres
- buffers
- IList<ArraySegment<Byte>>
Liste des mémoires tampons pour les données à envoyer.
Retours
Tâche asynchrone qui se termine avec le nombre d’octets envoyés.
Exceptions
buffers
a la valeur null
.
Une erreur s’est produite pendant la tentative d’accès au socket.
Socket a été fermé.
Remarques
Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que le équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par Send(IList<ArraySegment<Byte>>).
S’applique à
SendAsync(ArraySegment<Byte>)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Envoie des données sur un socket connecté.
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)
Paramètres
- buffer
- ArraySegment<Byte>
Mémoire tampon pour les données à envoyer.
Retours
Tâche asynchrone qui se termine avec le nombre d’octets envoyés.
Exceptions
Une erreur s’est produite pendant la tentative d’accès au socket.
Socket a été fermé.
S’applique à
SendAsync(SocketAsyncEventArgs)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Envoie des données de façon asynchrone à un objet Socket connecté.
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
Paramètres
Objet SocketAsyncEventArgs à utiliser pour cette opération de socket asynchrone.
Retours
true
si l’opération d’E/S est en attente. L'événement Completed sur le paramètre e
sera déclenché une fois l'opération terminée.
false
si l’opération d’E/S a été terminée de manière synchrone. Dans ce cas, l'événement Completed sur le paramètre e
ne sera pas déclenché et l'objet e
transmis en tant que paramètre peut être examiné immédiatement après que l'appel de méthode a été retourné pour extraire le résultat de l'opération.
Exceptions
La propriété Buffer ou BufferList sur le paramètre de e
doit référencer des mémoires tampon valides. L'une ou l'autre de ces propriétés peut être définie, mais pas les deux à la fois.
Une opération de socket utilisant l'objet SocketAsyncEventArgs spécifié dans le paramètre e
spécifié était déjà en cours.
Socket a été fermé.
Le Socket n'est pas encore connecté ou n'a pas été obtenu via une méthode Accept(), AcceptAsync(SocketAsyncEventArgs)ou BeginAccept.
Remarques
La SendAsync méthode est utilisée pour écrire des données sortantes à partir d’une ou plusieurs mémoires tampons sur un socket orienté connexion. Toutefois, cette méthode peut également être utilisée sur les sockets sans connexion qui ont spécifié un hôte distant lors d’une opération de connexion.
La SendAsync méthode démarre une opération d’envoi asynchrone à l’hôte distant établi dans la Acceptméthode , AcceptAsyncBeginAccept, BeginConnect, Connect, ou ConnectAsync .
Les propriétés et événements suivants sur l’objet System.Net.Sockets.SocketAsyncEventArgs sont nécessaires pour appeler correctement cette méthode :
SocketAsyncEventArgs.Buffer ou SocketAsyncEventArgs.BufferList
SocketAsyncEventArgs.Count si SocketAsyncEventArgs.Buffer est défini
SocketAsyncEventArgs.Offset si SocketAsyncEventArgs.Buffer est défini
L’appelant peut définir la SocketAsyncEventArgs.UserToken propriété sur n’importe quel objet d’état utilisateur souhaité avant d’appeler la SendAsync méthode, afin que les informations soient récupérables dans la méthode de rappel. Si le rappel a besoin de plus d’informations qu’un seul objet, une petite classe peut être créée pour contenir les autres informations d’état requises en tant que membres.
La SendAsync méthode lève une exception si vous n’appelez Acceptpas d’abord , AcceptAsync, BeginAcceptBeginConnect, Connectou ConnectAsync.
L’appel de la SendAsync méthode vous donne la possibilité d’envoyer des données dans un thread d’exécution distinct.
Pour les sockets orientés messages, ne dépassez pas la taille maximale des messages du fournisseur de services de sockets Windows sous-jacent. Si les données sont trop longues pour passer atomiquement par le fournisseur de services sous-jacent, aucune donnée n’est transmise et la SendAsync méthode lève un SocketException avec le SocketAsyncEventArgs.SocketError défini sur le code d’erreur WSAEMSGSIZE Winsock natif (10040).
Notez que l’achèvement réussi de la SendAsync méthode n’indique pas que les données ont été correctement remises.