Partager via


CAsyncSocket::Connect

Appelez la fonction membre pour établir une connexion à un flux ou un socket datagramme non connecté.

BOOL Connect( 
   LPCTSTR lpszHostAddress, 
   UINT nHostPort  
); 
BOOL Connect( 
   const SOCKADDR* lpSockAddr, 
   int nSockAddrLen  
);

Paramètres

  • lpszHostAddress
    L'adresse du réseau socket auquel cet objet est connecté : un nom de l'ordinateur tel que « ftp.microsoft.com », ou un nombre séparé par des points tel que « 128.56.22.8 ».

  • nHostPort
    Le port identificateur l'application de socket.

  • lpSockAddr
    Un pointeur vers une structure de SOCKADDR qui contient l'adresse du socket connecté.

  • nSockAddrLen
    La longueur de l'adresse dans lpSockAddr en octets.

Valeur de retour

Une valeur différente de zéro si la fonction est réussie ; sinon 0, et le code d'erreur spécifique peuvent être récupérés en appelant GetLastError. Si cela indique un code d'erreur de WSAEWOULDBLOCK, et votre application utilise les rappels substituables, votre application reçoit un message d' OnConnect lorsque l'opération de connexion est terminée. Les erreurs suivantes s'appliquent à cette fonction membre :

  • WSANOTINITIALISED A réussi AfxSocketInit doit se produire avant d'utiliser cette API.

  • WSAENETDOWN que l'implémentation de Windows Sockets l'a détecté que le sous-système réseau a échoué.

  • WSAEADDRINUSE l'adresse spécifiée est déjà en cours de utilisation.

  • WSAEINPROGRESS se bloque l'appel de Windows Sockets est en cours.

  • WSAEADDRNOTAVAIL l'adresse spécifiée est pas disponible sur l'ordinateur local.

  • Les adresses deWSAEAFNOSUPPORT dans la famille spécifiée ne peuvent pas être utilisées avec ce socket.

  • WSAECONNREFUSED la tentative de connexion a été rejeté.

  • L'adresse de destination deWSAEDESTADDRREQ est requise.

  • WSAEFAULT l'argument d' nSockAddrLen est incorrect.

  • Adresse de l'hôte non valide deWSAEINVAL .

  • WSAEISCONN le socket est déjà connecté.

  • WSAEMFILE plus de modèles de fichier n'est disponible.

  • WSAENETUNREACH le réseau ne peut pas être atteint de cet hôte de référence.

  • WSAENOBUFS aucun espace de mémoire tampon est disponible. Le socket ne peut pas être connecté.

  • WSAENOTSOCK le modèle n'est pas un socket.

  • La tentative deWSAETIMEDOUT de connexion a expiré sans établir une connexion.

  • WSAEWOULDBLOCK le socket est marqué comme non bloquant et la connexion ne peut pas être effectuée immédiatement.

Notes

Si le socket est annulé la liaison, des valeurs uniques sont assignées à l'association locale par le système, et le socket est marqué comme lié. Notez que si la zone adresse de la structure de nom est tous les zéros non significatifs, Connecter retourne zéro. Pour obtenir des informations d'erreurs étendues, appelez la fonction membre d' GetLastError .

Pour les sockets flux (type SOCK_STREAM), une connexion active est initialisée au serveur externe. Lorsque l'appel de socket terminée avec succès, le socket est prêt aux données émetteuses-réceptrices.

Pour un socket datagramme (type SOCK_DGRAM), une destination par défaut est définie, qui sera utilisée sur Envoyer suivant et des appels de Recevoir .

Configuration requise

Header: afxsock.h

Voir aussi

Référence

CAsyncSocket, classe

Graphique de la hiérarchie

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::GetSockName

CAsyncSocket::Create

CAsyncSocket::AsyncSelect