Socket.ConnectAsync 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.
Commence une requête asynchrone pour une connexion à un hôte distant.
Surcharges
| Nom | Description |
|---|---|
| ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs, ConnectAlgorithm) | |
| ConnectAsync(String, Int32, CancellationToken) |
Établit une connexion à un hôte distant. |
| ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs) |
Commence une requête asynchrone pour une connexion à un hôte distant. |
| ConnectAsync(IPAddress[], Int32, CancellationToken) |
Établit une connexion à un hôte distant. |
| ConnectAsync(IPAddress, Int32, CancellationToken) |
Établit une connexion à un hôte distant. |
| ConnectAsync(String, Int32) |
Établit une connexion à un hôte distant. |
| ConnectAsync(IPAddress[], Int32) |
Établit une connexion à un hôte distant. |
| ConnectAsync(IPAddress, Int32) |
Établit une connexion à un hôte distant. |
| ConnectAsync(EndPoint, CancellationToken) |
Établit une connexion à un hôte distant. |
| ConnectAsync(SocketAsyncEventArgs) |
Commence une requête asynchrone pour une connexion à un hôte distant. |
| ConnectAsync(EndPoint) |
Établit une connexion à un hôte distant. |
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs, ConnectAlgorithm)
public:
static bool ConnectAsync(System::Net::Sockets::SocketType socketType, System::Net::Sockets::ProtocolType protocolType, System::Net::Sockets::SocketAsyncEventArgs ^ e, System::Net::Sockets::ConnectAlgorithm connectAlgorithm);
public static bool ConnectAsync(System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType, System.Net.Sockets.SocketAsyncEventArgs e, System.Net.Sockets.ConnectAlgorithm connectAlgorithm);
static member ConnectAsync : System.Net.Sockets.SocketType * System.Net.Sockets.ProtocolType * System.Net.Sockets.SocketAsyncEventArgs * System.Net.Sockets.ConnectAlgorithm -> bool
Public Shared Function ConnectAsync (socketType As SocketType, protocolType As ProtocolType, e As SocketAsyncEventArgs, connectAlgorithm As ConnectAlgorithm) As Boolean
Paramètres
- socketType
- SocketType
- protocolType
- ProtocolType
- connectAlgorithm
- ConnectAlgorithm
Retours
S’applique à
ConnectAsync(String, Int32, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Établit une connexion à un hôte distant.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::String ^ host, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync(string host, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : string * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (host As String, port As Integer, cancellationToken As CancellationToken) As ValueTask
Paramètres
- host
- String
Nom d’hôte de l’hôte distant auquel se connecter.
- port
- Int32
Port sur l’hôte distant auquel se connecter.
- cancellationToken
- CancellationToken
Jeton d’annulation qui peut être utilisé pour annuler l’opération asynchrone.
Retours
Tâche asynchrone qui se termine lorsque la connexion est établie.
Exceptions
Le host paramètre ne peut pas être null.
L’écoute Socket .
Le socket n’est pas dans les InterNetwork familles.InterNetworkV6
Une erreur s’est produite lors de la tentative d’accès au socket.
Il Socket a été fermé.
Un appelant plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
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 Connect(String, Int32).
S’applique à
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Commence une requête asynchrone pour une connexion à un hôte distant.
public:
static bool ConnectAsync(System::Net::Sockets::SocketType socketType, System::Net::Sockets::ProtocolType protocolType, System::Net::Sockets::SocketAsyncEventArgs ^ e);
public static bool ConnectAsync(System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType, System.Net.Sockets.SocketAsyncEventArgs e);
static member ConnectAsync : System.Net.Sockets.SocketType * System.Net.Sockets.ProtocolType * System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Shared Function ConnectAsync (socketType As SocketType, protocolType As ProtocolType, e As SocketAsyncEventArgs) As Boolean
Paramètres
- socketType
- SocketType
Une des SocketType valeurs.
- protocolType
- ProtocolType
Une des ProtocolType valeurs.
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
Un argument n’est pas valide. Cette exception se produit si plusieurs mémoires tampons sont spécifiées, la BufferList propriété n’est pas null.
Le e paramètre ne peut pas être null et il RemoteEndPoint ne peut pas être null.
L’écoute Socket ou une opération de socket a déjà été en cours à l’aide de l’objet SocketAsyncEventArgs spécifié dans le e paramètre.
Une erreur s’est produite lors de la tentative d’accès au socket.
Point de terminaison local et la RemoteEndPoint même famille d’adresses.
Il Socket a été fermé.
Un appelant plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.
Remarques
Si vous utilisez un protocole orienté connexion, la méthode M :System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.Sockets.SocketType,System.Net.Sockets.ProtocolType,System.Net.Sockets.Sockets.Sockets.SocketS.SocketAsyncEventArgs) démarre une requête asynchrone pour une connexion à l’hôte distant. Si vous utilisez un protocole sans connexion, ConnectAsync établit un hôte distant par défaut spécifié par les paramètres et protocolType les socketType paramètres.
Pour être averti de l’achèvement, vous devez créer une méthode de rappel qui implémente le délégué EventHandler<SocketAsyncEventArgs> et attacher le rappel à l’événement SocketAsyncEventArgs.Completed .
L’appelant doit définir la SocketAsyncEventArgs.RemoteEndPoint propriété sur l’hôte IPEndPoint distant auquel se connecter.
L’appelant peut définir la SocketAsyncEventArgs.UserToken propriété sur n’importe quel objet d’état utilisateur souhaité avant d’appeler la ConnectAsync 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.
Si vous utilisez un protocole sans connexion tel que UDP, vous n’avez pas besoin d’appeler ConnectAsync avant d’envoyer et de recevoir des données. Vous pouvez utiliser SendToAsync et ReceiveFromAsync communiquer avec un hôte distant. Si vous appelez ConnectAsync, tous les datagrammes qui arrivent d’une adresse autre que la valeur par défaut spécifiée seront ignorés. Si vous souhaitez modifier l’hôte distant par défaut, appelez à nouveau la ConnectAsync méthode avec le point de terminaison souhaité.
Si vous souhaitez définir l’hôte distant par défaut sur une adresse de diffusion, vous devez d’abord appeler SetSocketOption et définir Diffusion sur true. Si ce n’est pas le cas, la ConnectAsync méthode lève un SocketException.
Les propriétés et événements suivants sur l’objet System.Net.Sockets.SocketAsyncEventArgs sont obligatoires :
Si vous le souhaitez, une mémoire tampon peut être fournie qui sera envoyée atomiquement sur le socket une fois la ConnectAsync méthode réussie. Dans ce cas, la SocketAsyncEventArgs.Buffer propriété doit être définie sur la mémoire tampon contenant les données à envoyer et la SocketAsyncEventArgs.Count propriété doit être définie sur le nombre d’octets de données à envoyer à partir de la mémoire tampon. Une fois qu’une connexion est établie, cette mémoire tampon de données est envoyée.
Si vous utilisez un protocole orienté connexion et que vous n’appelez pas avant d’appeler BindConnectAsync, le fournisseur de services sous-jacent affecte l’adresse réseau locale et le numéro de port les plus appropriés.
Si vous utilisez un protocole sans connexion, le fournisseur de services n’affecte pas d’adresse IP de réseau local et de numéro de port tant que vous n’appelez pas les méthodes ou ReceiveAsync les SendAsync méthodes.
La ConnectAsync méthode lève NotSupportedException si la famille d’adresses du Socket et la SocketAsyncEventArgs.RemoteEndPoint même famille d’adresses ne sont pas les mêmes.
Note
Si vous recevez un SocketException message lors de l’appel de cette méthode, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique. Une fois que vous avez obtenu ce code, reportez-vous à la documentation du code d’erreur de l’API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.
S’applique à
ConnectAsync(IPAddress[], Int32, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Établit une connexion à un hôte distant.
public:
System::Threading::Tasks::ValueTask ConnectAsync(cli::array <System::Net::IPAddress ^> ^ addresses, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync(System.Net.IPAddress[] addresses, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.IPAddress[] * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (addresses As IPAddress(), port As Integer, cancellationToken As CancellationToken) As ValueTask
Paramètres
- addresses
- IPAddress[]
Liste d’adresses IP pour l’hôte distant qui sera utilisée pour tenter de se connecter à l’hôte distant.
- port
- Int32
Port sur l’hôte distant auquel se connecter.
- cancellationToken
- CancellationToken
Jeton d’annulation qui peut être utilisé pour annuler l’opération asynchrone.
Retours
Tâche asynchrone qui se termine lorsque la connexion est établie.
Exceptions
Le addresses paramètre ne peut pas être null.
Le addresses paramètre ne peut pas être un tableau vide.
L’écoute Socket .
Le socket n’est pas dans les InterNetwork familles.InterNetworkV6
Une erreur s’est produite lors de la tentative d’accès au socket.
Il Socket a été fermé.
Un appelant plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
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 Connect(IPAddress[], Int32).
S’applique à
ConnectAsync(IPAddress, Int32, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Établit une connexion à un hôte distant.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::Net::IPAddress ^ address, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync(System.Net.IPAddress address, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.IPAddress * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (address As IPAddress, port As Integer, cancellationToken As CancellationToken) As ValueTask
Paramètres
- address
- IPAddress
Adresse IP de l’hôte distant auquel se connecter.
- port
- Int32
Port sur l’hôte distant auquel se connecter.
- cancellationToken
- CancellationToken
Jeton d’annulation qui peut être utilisé pour annuler l’opération asynchrone.
Retours
Tâche asynchrone qui se termine lorsque la connexion est établie.
Exceptions
Le address paramètre ne peut pas être null.
L’écoute Socket .
Une erreur s’est produite lors de la tentative d’accès au socket.
Il Socket a été fermé.
Un appelant plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
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 Connect(IPAddress, Int32).
S’applique à
ConnectAsync(String, Int32)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Établit une connexion à un hôte distant.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::String ^ host, int port);
public System.Threading.Tasks.Task ConnectAsync(string host, int port);
member this.ConnectAsync : string * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (host As String, port As Integer) As Task
Paramètres
- host
- String
Nom d’hôte de l’hôte distant auquel se connecter.
- port
- Int32
Port sur l’hôte distant auquel se connecter.
Retours
Tâche asynchrone qui se termine lorsque la connexion est établie.
Exceptions
Le host paramètre ne peut pas être null.
L’écoute Socket .
Le socket n’est pas dans les InterNetwork familles.InterNetworkV6
Une erreur s’est produite lors de la tentative d’accès au socket.
Il Socket a été fermé.
Un appelant plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.
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 Connect(String, Int32).
S’applique à
ConnectAsync(IPAddress[], Int32)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Établit une connexion à un hôte distant.
public:
System::Threading::Tasks::Task ^ ConnectAsync(cli::array <System::Net::IPAddress ^> ^ addresses, int port);
public System.Threading.Tasks.Task ConnectAsync(System.Net.IPAddress[] addresses, int port);
member this.ConnectAsync : System.Net.IPAddress[] * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (addresses As IPAddress(), port As Integer) As Task
Paramètres
- addresses
- IPAddress[]
Liste d’adresses IP pour l’hôte distant qui sera utilisée pour tenter de se connecter à l’hôte distant.
- port
- Int32
Port sur l’hôte distant auquel se connecter.
Retours
Tâche asynchrone qui se termine lorsque la connexion est établie.
Exceptions
Le addresses paramètre ne peut pas être null.
Le addresses paramètre ne peut pas être un tableau vide.
L’écoute Socket .
Le socket n’est pas dans les InterNetwork familles.InterNetworkV6
Une erreur s’est produite lors de la tentative d’accès au socket.
Il Socket a été fermé.
Un appelant plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.
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 Connect(IPAddress[], Int32).
S’applique à
ConnectAsync(IPAddress, Int32)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Établit une connexion à un hôte distant.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::Net::IPAddress ^ address, int port);
public System.Threading.Tasks.Task ConnectAsync(System.Net.IPAddress address, int port);
member this.ConnectAsync : System.Net.IPAddress * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (address As IPAddress, port As Integer) As Task
Paramètres
- address
- IPAddress
Adresse IP de l’hôte distant auquel se connecter.
- port
- Int32
Port sur l’hôte distant auquel se connecter.
Retours
Tâche asynchrone qui se termine lorsque la connexion est établie.
Exceptions
Le address paramètre ne peut pas être null.
L’écoute Socket .
Le socket n’est pas dans les InterNetwork familles.InterNetworkV6
Une erreur s’est produite lors de la tentative d’accès au socket.
Il Socket a été fermé.
Un appelant plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.
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 Connect(IPAddress, Int32).
S’applique à
ConnectAsync(EndPoint, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Établit une connexion à un hôte distant.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::Net::EndPoint ^ remoteEP, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync(System.Net.EndPoint remoteEP, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (remoteEP As EndPoint, cancellationToken As CancellationToken) As ValueTask
Paramètres
- remoteEP
- EndPoint
Point de terminaison auquel se connecter.
- cancellationToken
- CancellationToken
Jeton d’annulation qui peut être utilisé pour annuler l’opération asynchrone.
Retours
Tâche asynchrone qui se termine lorsque la connexion est établie.
Exceptions
Le remoteEP paramètre ne peut pas être null.
L’écoute Socket .
Une erreur s’est produite lors de la tentative d’accès au socket.
Le point de terminaison local et le remoteEP paramètre ne sont pas la même famille d’adresses.
Il Socket a été fermé.
Un appelant plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
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 Connect(EndPoint).
S’applique à
ConnectAsync(SocketAsyncEventArgs)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Commence une requête asynchrone pour une connexion à un hôte distant.
public:
bool ConnectAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs e);
member this.ConnectAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ConnectAsync (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 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
Un argument n’est pas valide. Cette exception se produit si plusieurs mémoires tampons sont spécifiées, la BufferList propriété n’est pas null.
Le e paramètre ne peut pas être null et il RemoteEndPoint ne peut pas être null.
L’écoute Socket ou une opération de socket a déjà été en cours à l’aide de l’objet SocketAsyncEventArgs spécifié dans le e paramètre.
Une erreur s’est produite lors de la tentative d’accès au socket.
Point de terminaison local et la RemoteEndPoint même famille d’adresses.
Il Socket a été fermé.
Un appelant plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.
Remarques
Si vous utilisez un protocole orienté connexion, la ConnectAsync méthode démarre une requête asynchrone pour une connexion à l’hôte distant. Si vous utilisez un protocole sans connexion, ConnectAsync établit un hôte distant par défaut.
Pour être averti de l’achèvement, vous devez créer une méthode de rappel qui implémente le délégué EventHandler<SocketAsyncEventArgs> et attacher le rappel à l’événement SocketAsyncEventArgs.Completed .
L’appelant doit définir la SocketAsyncEventArgs.RemoteEndPoint propriété sur l’hôte IPEndPoint distant auquel se connecter.
L’appelant peut définir la SocketAsyncEventArgs.UserToken propriété sur n’importe quel objet d’état utilisateur souhaité avant d’appeler la ConnectAsync 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.
Si vous utilisez un protocole sans connexion tel que UDP, vous n’avez pas besoin d’appeler ConnectAsync avant d’envoyer et de recevoir des données. Vous pouvez utiliser SendToAsync et ReceiveFromAsync communiquer avec un hôte distant. Si vous appelez ConnectAsync, tous les datagrammes qui arrivent d’une adresse autre que la valeur par défaut spécifiée seront ignorés. Si vous souhaitez modifier l’hôte distant par défaut, appelez à nouveau la ConnectAsync méthode avec le point de terminaison souhaité.
Si vous souhaitez définir l’hôte distant par défaut sur une adresse de diffusion, vous devez d’abord appeler SetSocketOption et définir Diffusion sur true. Si ce n’est pas le cas, la ConnectAsync méthode lève un SocketException.
Les propriétés et événements suivants sur l’objet System.Net.Sockets.SocketAsyncEventArgs sont obligatoires :
Si vous le souhaitez, une mémoire tampon peut être fournie qui sera envoyée atomiquement sur le socket une fois la ConnectAsync méthode réussie. Dans ce cas, la SocketAsyncEventArgs.Buffer propriété doit être définie sur la mémoire tampon contenant les données à envoyer et la SocketAsyncEventArgs.Count propriété doit être définie sur le nombre d’octets de données à envoyer à partir de la mémoire tampon. Une fois qu’une connexion est établie, cette mémoire tampon de données est envoyée.
Si vous utilisez un protocole orienté connexion et que vous n’appelez pas avant d’appeler BindConnectAsync, le fournisseur de services sous-jacent affecte l’adresse réseau locale et le numéro de port les plus appropriés.
Si vous utilisez un protocole sans connexion, le fournisseur de services n’affecte pas d’adresse IP de réseau local et de numéro de port tant que vous n’appelez pas les méthodes ou ReceiveAsync les SendAsync méthodes.
La ConnectAsync méthode lève NotSupportedException si la famille d’adresses du Socket et la SocketAsyncEventArgs.RemoteEndPoint même famille d’adresses ne sont pas les mêmes.
Note
Si vous recevez un SocketException message lors de l’appel de cette méthode, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique. Une fois que vous avez obtenu ce code, reportez-vous à la documentation du code d’erreur de l’API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.
Voir aussi
S’applique à
ConnectAsync(EndPoint)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Établit une connexion à un hôte distant.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::Net::EndPoint ^ remoteEP);
public System.Threading.Tasks.Task ConnectAsync(System.Net.EndPoint remoteEP);
member this.ConnectAsync : System.Net.EndPoint -> System.Threading.Tasks.Task
Public Function ConnectAsync (remoteEP As EndPoint) As Task
Paramètres
- remoteEP
- EndPoint
Point de terminaison auquel se connecter.
Retours
Tâche asynchrone qui se termine lorsque la connexion est établie.
Exceptions
Le remoteEP paramètre ne peut pas être null.
L’écoute Socket .
Une erreur s’est produite lors de la tentative d’accès au socket.
Le point de terminaison local et le remoteEP paramètre ne sont pas la même famille d’adresses.
Il Socket a été fermé.
Un appelant plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.
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 Connect(EndPoint).