Partager via


Socket.SendAsync Méthode

Définition

Surcharges

Nom Description
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 manière asynchrone à un objet connecté Socket .

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
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 par 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
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 par le nombre d’octets envoyés.

Exceptions

buffers a la valeur null.

Une erreur s’est produite lors de la tentative d’accès au socket.

Il Socket a été fermé.

Remarques

Cette méthode stocke dans la tâche toutes les exceptions non-utilisation que l’é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 façon 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
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 par le nombre d’octets envoyés.

Exceptions

Une erreur s’est produite lors de la tentative d’accès au socket.

Il Socket a été fermé.

S’applique à

SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
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 par le nombre d’octets envoyés.

Exceptions

Une erreur s’est produite lors de la tentative d’accès au socket.

Il 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
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 par le nombre d’octets envoyés.

Exceptions

buffers a la valeur null.

Une erreur s’est produite lors de la tentative d’accès au socket.

Il Socket a été fermé.

Remarques

Cette méthode stocke dans la tâche toutes les exceptions non-utilisation que l’é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 façon 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
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 par le nombre d’octets envoyés.

Exceptions

Une erreur s’est produite lors de la tentative d’accès au socket.

Il Socket a été fermé.

S’applique à

SendAsync(SocketAsyncEventArgs)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Envoie des données de manière asynchrone à un objet connecté 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

Paramètres

e
SocketAsyncEventArgs

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 e paramètre est déclenché à l’achèvement de l’opération.

false si l’opération d’E/S s’est terminée de façon synchrone. Dans ce cas, l’événement Completed sur le e paramètre ne sera pas déclenché et l’objet e transmis en tant que paramètre peut être examiné immédiatement après l’appel de méthode pour récupérer le résultat de l’opération.

Exceptions

Le Buffer ou BufferList les propriétés du e paramètre doivent référencer des mémoires tampons valides. L’une ou l’autre de ces propriétés peut être définie, mais pas les deux en même temps.

Une opération de socket était déjà en cours à l’aide de l’objet SocketAsyncEventArgs spécifié dans le e paramètre.

Il Socket a été fermé.

L’objet Socket n’est pas encore connecté ou n’a pas été obtenu par le biais d’une Accept()méthode , ou AcceptAsync(SocketAsyncEventArgs)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. Cette méthode peut également être utilisée sur des sockets sans connexion qui ont spécifié un hôte distant sur 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, BeginConnectConnectou 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 :

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 pas d’abordAccept, , AcceptAsync, ConnectBeginAcceptBeginConnectou .ConnectAsync

L’appel de la SendAsync méthode vous permet 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 du message du fournisseur de services Windows sockets sous-jacent. Si les données sont trop longues pour passer atomiquement par le biais du fournisseur de services sous-jacent, aucune donnée n’est transmise et la SendAsync méthode lève une SocketException valeur avec le SocketAsyncEventArgs.SocketError code d’erreur Winsock WSAEMSGSIZE natif (10040).

Notez que la réussite de la SendAsync méthode n’indique pas que les données ont été correctement remises.

Voir aussi

S’applique à