Socket.BeginConnect 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.
Démarre une demande asynchrone pour une connexion d'hôte distant.
Surcharges
BeginConnect(EndPoint, AsyncCallback, Object) |
Démarre une demande asynchrone pour une connexion d'hôte distant. |
BeginConnect(IPAddress, Int32, AsyncCallback, Object) |
Démarre une demande asynchrone pour une connexion d'hôte distant. L’hôte est spécifié par IPAddress et un numéro de port. |
BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Démarre une demande asynchrone pour une connexion d'hôte distant. L’hôte est spécifié par un tableau IPAddress et un numéro de port. |
BeginConnect(String, Int32, AsyncCallback, Object) |
Démarre une demande asynchrone pour une connexion d'hôte distant. L’hôte est spécifié par un nom d’hôte et un numéro de port. |
BeginConnect(EndPoint, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Démarre une demande asynchrone pour une connexion d'hôte distant.
public:
IAsyncResult ^ BeginConnect(System::Net::EndPoint ^ remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.EndPoint remoteEP, AsyncCallback? callback, object? state);
public IAsyncResult BeginConnect (System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginConnect : System.Net.EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (remoteEP As EndPoint, callback As AsyncCallback, state As Object) As IAsyncResult
Paramètres
- callback
- AsyncCallback
Délégué AsyncCallback.
- state
- Object
Objet qui contient les informations d’état de cette demande.
Retours
IAsyncResult qui fait référence à la connexion asynchrone.
Exceptions
remoteEP
a la valeur null
.
.NET Framework et .NET 5 et versions antérieures uniquement : une erreur s’est produite lors de la tentative d’accès au socket.
Socket a été fermé.
Un appelant situé plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.
Socket a été mis dans un état d’écoute en appelant Listen(Int32), ou une opération asynchrone est déjà en cours d’exécution.
Remarques
Important
Il s’agit d’une API de compatibilité. Nous vous déconseillons d’utiliser les méthodes APM (Begin*
et End*
) pour un nouveau développement. Utilisez plutôt les Task
équivalents basés sur .
Les protocoles orientés connexion peuvent utiliser la BeginAccept méthode pour commencer à accepter les tentatives de connexion entrantes. L’opération d’acceptation résultante est représentée par le retourné IAsyncResult , même si elle peut se terminer de manière synchrone. Avant d’appeler la BeginAccept méthode, vous devez appeler la Listen méthode pour écouter et mettre en file d’attente les demandes de connexion entrantes.
Vous pouvez passer un rappel qui implémente AsyncCallback à BeginAccept afin d’être informé de la fin de l’opération d’acceptation. Notez que si la pile réseau sous-jacente termine l’opération de manière synchrone, le rappel peut être exécuté inline, pendant l’appel à BeginAccept. Dans ce cas, la CompletedSynchronously propriété sur le retourné IAsyncResult est définie true
sur pour indiquer que la méthode s’est terminée de manière synchrone. Utilisez la AsyncState propriété de pour IAsyncResult obtenir l’objet d’état passé à la BeginAccept méthode .
L’opération BeginAccept doit être terminée en appelant la EndAccept méthode . En règle générale, la méthode est appelée par le délégué fourni AsyncCallback . EndAccept bloque le thread appelant jusqu’à ce que l’opération soit terminée.
Pour annuler un appel en attente à la BeginAccept méthode, fermez le Socket. Quand la Close méthode est appelée alors qu’une opération asynchrone est en cours, le rappel fourni à la BeginAccept méthode est appelé. Un appel suivant à la EndAccept méthode lève un ObjectDisposedException (avant .NET 7) ou un SocketException (sur .NET 7+) pour indiquer que l’opération a été annulée.
Notes
Vous pouvez utiliser la RemoteEndPoint propriété du retourné Socket pour identifier l’adresse réseau et le numéro de port de l’hôte distant.
Notes
Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique.
Notes
Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.
Notes
Le contexte d’exécution (le contexte de sécurité, l’utilisateur emprunté et le contexte appelant) est mis en cache pour les méthodes asynchrones Socket . Après la première utilisation d’un contexte particulier (une méthode asynchrone Socket spécifique, un instance spécifique Socket et un rappel spécifique), les utilisations suivantes de ce contexte voient une amélioration des performances.
Voir aussi
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling d'un délégué comme méthode de rappel
- Exemple de socket client asynchrone
- Exemple de sockets serveur asynchrones
S’applique à
BeginConnect(IPAddress, Int32, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Démarre une demande asynchrone pour une connexion d'hôte distant. L’hôte est spécifié par IPAddress et un numéro de port.
public:
IAsyncResult ^ BeginConnect(System::Net::IPAddress ^ address, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.IPAddress address, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (System.Net.IPAddress address, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (address As IPAddress, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult
Paramètres
- port
- Int32
Numéro de port de l'hôte distant.
- requestCallback
- AsyncCallback
Délégué AsyncCallback qui fait référence à la méthode à appeler quand l’opération de connexion est terminée.
- state
- Object
Objet défini par l'utilisateur qui contient des informations sur l'opération de connexion. Cet objet est passé au délégué requestCallback
quand l'opération est terminée.
Retours
IAsyncResult qui fait référence à la connexion asynchrone.
Exceptions
address
a la valeur null
.
.NET Framework et .NET 5 et versions antérieures uniquement : une erreur s’est produite lors de la tentative d’accès au socket.
Socket a été fermé.
Socket n’est pas dans la famille des sockets.
Le numéro de port n’est pas valide.
La longueur de address
est égale à zéro.
Socket a été mis dans un état d’écoute en appelant Listen(Int32), ou une opération asynchrone est déjà en cours d’exécution.
Remarques
Important
Il s’agit d’une API de compatibilité. Nous vous déconseillons d’utiliser les méthodes APM (Begin*
et End*
) pour un nouveau développement. Utilisez plutôt les Task
équivalents basés sur .
Si vous utilisez un protocole orienté connexion, la BeginConnect méthode démarre une demande asynchrone pour une connexion au point de terminaison spécifié par le remoteEP
paramètre . Si vous utilisez un protocole sans connexion, BeginConnect établit un hôte distant par défaut.
Vous pouvez passer un rappel qui s’implémente AsyncCallbackBeginConnect sur afin d’être informé de la fin de l’opération de connexion. Notez que si la pile réseau sous-jacente termine l’opération de manière synchrone, le rappel peut être exécuté inline, pendant l’appel à BeginConnect. Dans ce cas, la CompletedSynchronously propriété sur le retourné IAsyncResult est définie true
sur pour indiquer que la méthode s’est terminée de manière synchrone. Utilisez la AsyncState propriété de pour IAsyncResult obtenir l’objet d’état passé à la BeginConnect méthode .
L’opération BeginConnect doit être terminée en appelant la EndConnect méthode . En règle générale, la méthode est appelée par le délégué fourni AsyncCallback . EndConnect bloque le thread appelant jusqu’à ce que l’opération soit terminée.
Si vous utilisez un protocole sans connexion tel qu’UDP, vous n’avez pas besoin d’appeler BeginConnect avant d’envoyer et de recevoir des données. Vous pouvez utiliser BeginSendTo et BeginReceiveFrom pour communiquer avec un hôte distant. Si vous appelez BeginConnect, tous les datagrammes qui arrivent d’une adresse autre que la valeur par défaut spécifiée seront ignorés. Si vous souhaitez définir votre hôte distant par défaut sur une adresse de diffusion, vous devez d’abord appeler SetSocketOption et définir Diffusion sur true
. Si vous ne le pouvez pas, BeginConnect lève un SocketException.
Si vous utilisez un protocole orienté connexion et que vous n’appelez Bind pas avant d’appeler BeginConnect, le fournisseur de services sous-jacent attribue 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’affectera pas d’adresse réseau locale et de numéro de port tant que vous n’appelez pas la BeginSend méthode ou ReceiveFrom . Si vous souhaitez modifier l’hôte distant par défaut, appelez à nouveau la BeginConnect méthode avec le point de terminaison souhaité.
Pour annuler un appel en attente à la BeginConnect méthode, fermez le Socket. Quand la Close méthode est appelée alors qu’une opération asynchrone est en cours, le rappel fourni à la BeginConnect méthode est appelé. Un appel suivant à la EndConnect méthode lève un ObjectDisposedException (avant .NET 7) ou un SocketException (sur .NET 7+) pour indiquer que l’opération a été annulée.
Notes
Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique.
Notes
Si ce socket a été précédemment déconnecté, BeginConnect il doit être appelé sur un thread qui ne se ferme pas tant que l’opération n’est pas terminée. Il s’agit d’une limitation du fournisseur sous-jacent.
Notes
Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.
Notes
Le contexte d’exécution (le contexte de sécurité, l’utilisateur emprunté et le contexte appelant) est mis en cache pour les méthodes asynchrones Socket . Après la première utilisation d’un contexte particulier (une méthode asynchrone Socket spécifique, un instance spécifique Socket et un rappel spécifique), les utilisations suivantes de ce contexte voient une amélioration des performances.
Voir aussi
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling d'un délégué comme méthode de rappel
- Exemple de socket client asynchrone
- Exemple de sockets serveur asynchrones
S’applique à
BeginConnect(IPAddress[], Int32, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Démarre une demande asynchrone pour une connexion d'hôte distant. L’hôte est spécifié par un tableau IPAddress et un numéro de port.
public:
IAsyncResult ^ BeginConnect(cli::array <System::Net::IPAddress ^> ^ addresses, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.IPAddress[] addresses, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (System.Net.IPAddress[] addresses, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress[] * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (addresses As IPAddress(), port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult
Paramètres
- port
- Int32
Numéro de port de l'hôte distant.
- requestCallback
- AsyncCallback
Délégué AsyncCallback qui fait référence à la méthode à appeler quand l’opération de connexion est terminée.
- state
- Object
Objet défini par l'utilisateur qui contient des informations sur l'opération de connexion. Cet objet est passé au délégué requestCallback
quand l'opération est terminée.
Retours
IAsyncResult qui fait référence aux connexions asynchrones.
Exceptions
addresses
a la valeur null
.
.NET Framework et .NET 5 et versions antérieures uniquement : une erreur s’est produite lors de la tentative d’accès au socket.
Socket a été fermé.
Cette méthode est valide pour les sockets qui utilisent InterNetwork ou InterNetworkV6.
Le numéro de port n’est pas valide.
La longueur de address
est égale à zéro.
Socket a été mis dans un état d’écoute en appelant Listen(Int32), ou une opération asynchrone est déjà en cours d’exécution.
Remarques
Important
Il s’agit d’une API de compatibilité. Nous vous déconseillons d’utiliser les méthodes APM (Begin*
et End*
) pour un nouveau développement. Utilisez plutôt les Task
équivalents basés sur .
Si vous utilisez un protocole orienté connexion, la BeginConnect méthode démarre une demande asynchrone pour une connexion au point de terminaison spécifié par le remoteEP
paramètre . Si vous utilisez un protocole sans connexion, BeginConnect établit un hôte distant par défaut.
Vous pouvez passer un rappel qui s’implémente AsyncCallbackBeginConnect sur afin d’être informé de la fin de l’opération de connexion. Notez que si la pile réseau sous-jacente termine l’opération de manière synchrone, le rappel peut être exécuté inline, pendant l’appel à BeginConnect. Dans ce cas, la CompletedSynchronously propriété sur le retourné IAsyncResult est définie true
sur pour indiquer que la méthode s’est terminée de manière synchrone. Utilisez la AsyncState propriété de pour IAsyncResult obtenir l’objet d’état passé à la BeginConnect méthode .
L’opération BeginConnect doit être terminée en appelant la EndConnect méthode . En règle générale, la méthode est appelée par le délégué fourni AsyncCallback . EndConnect bloque le thread appelant jusqu’à ce que l’opération soit terminée.
Si vous utilisez un protocole sans connexion tel qu’UDP, vous n’avez pas besoin d’appeler BeginConnect avant d’envoyer et de recevoir des données. Vous pouvez utiliser BeginSendTo et BeginReceiveFrom pour communiquer avec un hôte distant. Si vous appelez BeginConnect, tous les datagrammes qui arrivent d’une adresse autre que la valeur par défaut spécifiée seront ignorés. Si vous souhaitez définir votre hôte distant par défaut sur une adresse de diffusion, vous devez d’abord appeler SetSocketOption et définir Diffusion sur true
. Si vous ne le pouvez pas, BeginConnect lève un SocketException.
Si vous utilisez un protocole orienté connexion et que vous n’appelez Bind pas avant d’appeler BeginConnect, le fournisseur de services sous-jacent attribue 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’affectera pas d’adresse réseau locale et de numéro de port tant que vous n’appelez pas la BeginSend méthode ou ReceiveFrom . Si vous souhaitez modifier l’hôte distant par défaut, appelez à nouveau la BeginConnect méthode avec le point de terminaison souhaité.
Pour annuler un appel en attente à la BeginConnect méthode, fermez le Socket. Quand la Close méthode est appelée alors qu’une opération asynchrone est en cours, le rappel fourni à la BeginConnect méthode est appelé. Un appel suivant à la EndConnect méthode lève un ObjectDisposedException (avant .NET 7) ou un SocketException (sur .NET 7+) pour indiquer que l’opération a été annulée.
Notes
Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique.
Notes
Si ce socket a été précédemment déconnecté, BeginConnect il doit être appelé sur un thread qui ne se ferme pas tant que l’opération n’est pas terminée. Il s’agit d’une limitation du fournisseur sous-jacent.
Notes
Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.
Notes
Le contexte d’exécution (le contexte de sécurité, l’utilisateur emprunté et le contexte appelant) est mis en cache pour les méthodes asynchrones Socket . Après la première utilisation d’un contexte particulier (une méthode asynchrone Socket spécifique, un instance spécifique Socket et un rappel spécifique), les utilisations suivantes de ce contexte voient une amélioration des performances.
Voir aussi
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling d'un délégué comme méthode de rappel
- Exemple de socket client asynchrone
- Exemple de sockets serveur asynchrones
S’applique à
BeginConnect(String, Int32, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Démarre une demande asynchrone pour une connexion d'hôte distant. L’hôte est spécifié par un nom d’hôte et un numéro de port.
public:
IAsyncResult ^ BeginConnect(System::String ^ host, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (string host, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (string host, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : string * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (host As String, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult
Paramètres
- host
- String
Nom de l'hôte distant.
- port
- Int32
Numéro de port de l'hôte distant.
- requestCallback
- AsyncCallback
Délégué AsyncCallback qui fait référence à la méthode à appeler quand l’opération de connexion est terminée.
- state
- Object
Objet défini par l'utilisateur qui contient des informations sur l'opération de connexion. Cet objet est passé au délégué requestCallback
quand l'opération est terminée.
Retours
IAsyncResult qui fait référence à la connexion asynchrone.
Exceptions
host
a la valeur null
.
Socket a été fermé.
Cette méthode est valide pour les sockets appartenant aux familles InterNetwork ou InterNetworkV6.
Le numéro de port n’est pas valide.
Socket a été mis dans un état d’écoute en appelant Listen(Int32), ou une opération asynchrone est déjà en cours d’exécution.
Remarques
Important
Il s’agit d’une API de compatibilité. Nous vous déconseillons d’utiliser les méthodes APM (Begin*
et End*
) pour un nouveau développement. Utilisez plutôt les Task
équivalents basés sur .
Si vous utilisez un protocole orienté connexion, la BeginConnect méthode démarre une demande asynchrone pour une connexion au point de terminaison spécifié par le remoteEP
paramètre . Si vous utilisez un protocole sans connexion, BeginConnect établit un hôte distant par défaut.
Vous pouvez passer un rappel qui s’implémente AsyncCallbackBeginConnect sur afin d’être informé de la fin de l’opération de connexion. Notez que si la pile réseau sous-jacente termine l’opération de manière synchrone, le rappel peut être exécuté inline, pendant l’appel à BeginConnect. Dans ce cas, la CompletedSynchronously propriété sur le retourné IAsyncResult est définie true
sur pour indiquer que la méthode s’est terminée de manière synchrone. Utilisez la AsyncState propriété de pour IAsyncResult obtenir l’objet d’état passé à la BeginConnect méthode .
L’opération BeginConnect doit être terminée en appelant la EndConnect méthode . En règle générale, la méthode est appelée par le délégué fourni AsyncCallback . EndConnect bloque le thread appelant jusqu’à ce que l’opération soit terminée.
Si vous utilisez un protocole sans connexion tel qu’UDP, vous n’avez pas besoin d’appeler BeginConnect avant d’envoyer et de recevoir des données. Vous pouvez utiliser BeginSendTo et BeginReceiveFrom pour communiquer avec un hôte distant. Si vous appelez BeginConnect, tous les datagrammes qui arrivent d’une adresse autre que la valeur par défaut spécifiée seront ignorés. Si vous souhaitez définir votre hôte distant par défaut sur une adresse de diffusion, vous devez d’abord appeler SetSocketOption et définir Diffusion sur true
. Si vous ne le pouvez pas, BeginConnect lève un SocketException.
Si vous utilisez un protocole orienté connexion et que vous n’appelez Bind pas avant d’appeler BeginConnect, le fournisseur de services sous-jacent attribue 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’affectera pas d’adresse réseau locale et de numéro de port tant que vous n’appelez pas la BeginSend méthode ou ReceiveFrom . Si vous souhaitez modifier l’hôte distant par défaut, appelez à nouveau la BeginConnect méthode avec le point de terminaison souhaité.
Pour annuler un appel en attente à la BeginConnect méthode, fermez le Socket. Quand la Close méthode est appelée alors qu’une opération asynchrone est en cours, le rappel fourni à la BeginConnect méthode est appelé. Un appel suivant à la EndConnect méthode lève un ObjectDisposedException (avant .NET 7) ou un SocketException (sur .NET 7+) pour indiquer que l’opération a été annulée.
Notes
Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique.
Notes
Si ce socket a été précédemment déconnecté, BeginConnect il doit être appelé sur un thread qui ne se ferme pas tant que l’opération n’est pas terminée. Il s’agit d’une limitation du fournisseur sous-jacent.
Notes
Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.
Notes
Le contexte d’exécution (le contexte de sécurité, l’utilisateur emprunté et le contexte appelant) est mis en cache pour les méthodes asynchrones Socket . Après la première utilisation d’un contexte particulier (une méthode asynchrone Socket spécifique, un instance spécifique Socket et un rappel spécifique), les utilisations suivantes de ce contexte voient une amélioration des performances.
Voir aussi
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling d'un délégué comme méthode de rappel
- Exemple de socket client asynchrone
- Exemple de sockets serveur asynchrones