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