Condividi tramite


CAsyncSocket::Connect

Chiamare la funzione membro per stabilire una connessione a un flusso o a un socket di datagramma disgiunto.

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

Parametri

  • lpszHostAddress
    L'indirizzo di rete di socket a cui è connesso: un nome del computer come "ftp.microsoft.com", o un numero tratteggiato come "128.56.22.8".

  • nHostPort
    La porta che identifica l'applicazione di socket.

  • lpSockAddr
    Un puntatore a una struttura SOCKADDR contenente l'indirizzo di socket collegato.

  • nSockAddrLen
    Lunghezza dell'indirizzo in lpSockAddr in byte.

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario 0 e un codice di errore specifico possono essere recuperati chiamando GetLastError. Se questo indica un codice di errore WSAEWOULDBLOCKe l'applicazione utilizza i callback sottoponibili a override, l'applicazione riceverà un messaggio OnConnect quando l'operazione di connessione è completa. Gli errori seguenti si applicano a questa funzione membro:

  • WSANOTINITIALISED Al AfxSocketInit deve verificarsi prima di utilizzare questa API.

  • WSAENETDOWN che l'implementazione di Windows Sockets ha rilevato che il sottosistema di rete non è riuscita.

  • WSAEADDRINUSE l'indirizzo specificato sia già utilizzato.

  • WSAEINPROGRESS che blocca la chiamata di Windows Sockets è in corso.

  • WSAEADDRNOTAVAIL l'indirizzo specificato non è disponibile nel computer locale.

  • Gli indirizzi diWSAEAFNOSUPPORT la famiglia specificata non possono essere utilizzati con questo socket.

  • WSAECONNREFUSED il tentativo di connessione è stato rifiutato.

  • L'indirizzo di destinazione diWSAEDESTADDRREQ A è obbligatorio.

  • WSAEFAULT l'argomento nSockAddrLen non è corretto.

  • Host IP non valido diWSAEINVAL.

  • IlWSAEISCONN socket è già connesso.

  • WSAEMFILE non più descrittori del file è disponibile.

  • WSAENETUNREACH la rete non può essere raggiunto da questo host attualmente.

  • WSAENOBUFS alcuno spazio nel buffer è disponibile. Il socket non può essere connesso.

  • WSAENOTSOCK il descrittore non è un socket.

  • Il tentativo diWSAETIMEDOUT di connettere il timeout senza stabilire una connessione.

  • IlWSAEWOULDBLOCK socket è contrassegnato come non bloccante e la connessione non può essere completata immediatamente.

Note

Se il socket viene separato, valori univoci sono assegnati all'associazione locale dal sistema e il socket è contrassegnato come associato. Si noti che se il campo indirizzo della struttura di nome è qualsiasi zero, Connetti restituirà zero. Per ottenere informazioni dettagliate sugli errori, chiamare la funzione membro GetLastError.

Per i socket di flusso (tipo SOCK_STREAM), una connessione attiva viene avviata all'host esterno. Quando la chiamata di socket viene completata correttamente, il socket è possibile inviare/dati di ricezione.

Per un socket di datagramma (tipo SOCK_DGRAM), una destinazione predefinita è impostata, che verrà utilizzata su Invia successivo e le chiamate Ricezione.

Requisiti

Header: afxsock.h

Vedere anche

Riferimenti

Classe CAsyncSocket

Grafico delle gerarchie

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::GetSockName

CAsyncSocket::Create

CAsyncSocket::AsyncSelect