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