CAsyncSocket::Connect

Rufen Sie die Memberfunktion auf, um eine Verbindung zu einem unverbundenen Stream oder einem Datagrammsocket herzustellen.

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

Parameter

  • lpszHostAddress
    Die Netzwerkadresse des Sockets, mit dem dieses Objekt verbunden ist: ein Computer Name wie "ftp.microsoft.com" oder ein durch Punkte getrennte Zahl wie "128.56.22.8".

  • nHostPort
    Der Port, der die Socket-Anwendung identifiziert.

  • lpSockAddr
    Ein Zeiger auf eine SOCKADDR-Struktur, die die Adresse des verbundenen Sockets enthält.

  • nSockAddrLen
    Die Länge der Adresse in lpSockAddr in Bytes.

Rückgabewert

Ungleich 0 (null), wenn die Funktion erfolgreich; andernfalls 0 und ein bestimmter Fehlercode können abgerufen werden, indem Sie GetLastError aufruft. Wenn dieses einen Fehlercode von WSAEWOULDBLOCK angibt und die Anwendung die überschreibbaren Rückrufe verwendet, empfängt die Anwendung eine OnConnect Meldung, wenn der Verbindungsvorgang abgeschlossen ist. Die folgenden Fehler gelten für diese Memberfunktion zu:

  • Vor der Verwendung dieser APIs WSANOTINITIALISED einem erfolgreichen AfxSocketInit muss auftreten.

  • WSAENETDOWN, das die Windows Socket-Implementierung hat, dass das Netzwerksubsystem fehlgeschlagen ist.

  • WSAEADDRINUSE die angegebene Adresse ist bereits verwendet.

  • Ist blockierenden Windows Socket-Aufruf WSAEINPROGRESS A ausgeführt.

  • WSAEADDRNOTAVAIL die angegebene Adresse ist nicht vom lokalen Computer verfügbar.

  • WSAEAFNOSUPPORT Adressen in der angegebenen Kategorie können nicht mit diesem Socket verwendet werden.

  • WSAECONNREFUSED der Versuch Verbindung wurde geschlossen.

  • Zieladresse WSAEDESTADDRREQ A ist erforderlich.

  • WSAEFAULT das nSockAddrLen-Argument ist falsch.

  • Ungültiges host IP-Adressen WSAEINVAL.

  • WSAEISCONN der Socket ist bereits verbunden.

  • WSAEMFILE nicht mehr Dateideskriptoren sind verfügbar.

  • WSAENETUNREACH das Netzwerk kann nicht von diesem Host derzeit erreicht werden.

  • WSAENOBUFS kein Pufferplatz ist verfügbar. Der Socket kann nicht verbunden werden.

  • WSAENOTSOCK der Deskriptor ist kein Socket.

  • WSAETIMEDOUT Versuch herzustellen u out Uhrzeit-, ohne eine Verbindung herzustellen.

  • WSAEWOULDBLOCK der Socket wird nicht als blockiert markiert und die Verbindung kann nicht sofort abgeschlossen werden.

Hinweise

Wenn der Socket ungebunden ist, der lokalen Zuordnung werden eindeutige Werte vom System zugewiesen, und der Socket ist als markiert, wie gebunden. Beachten Sie, dass, wenn das Adressfeld der Namestruktur alle Nullen sind, Verbinden null zurückgibt. Um erweiterte Fehlerinformationen abzurufen, rufen Sie die GetLastError-Memberfunktion auf.

Für Streamsockets (Typ SOCK_STREAM), wird eine aktive Verbindung zum fremden Host initiiert. Wenn der Socketaufruf erfolgreich abgeschlossen wird, ist der Socket, bis für senden/empfängt Daten.

Für einen Datagrammsocket (Typ SOCK_DGRAM), wird ein Standardwert Ziel festgelegt, das auf dem folgenden Send und Receive Aufrufen verwendet wird.

Anforderungen

Header: afxsock.h

Siehe auch

Referenz

CAsyncSocket-Klasse

Hierarchiediagramm

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::GetSockName

CAsyncSocket::Create

CAsyncSocket::AsyncSelect