Udostępnij za pośrednictwem


CAsyncSocket::Connect

Wywołanie tej funkcji Członkowskie do ustanowienia połączenia niepołączonych strumienia lub gniazdo datagramu.

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

Parametry

  • lpszHostAddress
    Adres sieciowy gniazda, do którego podłączony jest ten obiekt: nazwa komputera, takie jak "ftp.microsoft.com" lub liczbę kropkami, na przykład "128.56.22.8".

  • nHostPort
    Port identyfikacji aplikacji gniazda.

  • lpSockAddr
    Wskaźnik do SOCKADDR strukturę, która zawiera adres gniazda podłączone.

  • nSockAddrLen
    Długość adresu w lpSockAddr w bajtach.

Wartość zwracana

Niezerowa, jeśli funkcja jest pomyślne; w przeciwnym razie 0 i kod błędu mogą być pobierane przez wywołanie GetLastError.Jeśli wskazuje kod błędu WSAEWOULDBLOCKi aplikacja korzysta z NotOverridable wywołania zwrotne, aplikacja będzie odbierać OnConnect komunikat po zakończeniu operacji połączenia.Do tej funkcji Członkowskich stosuje się następujące błędy:

  • WSANOTINITIALISED pomyślnie AfxSocketInit musi wystąpić przed użyciem tego interfejsu API.

  • WSAENETDOWN implementacja Windows Sockets wykrył, że podsystem sieci nie powiodło się.

  • WSAEADDRINUSE określony adres jest już używany.

  • WSAEINPROGRESS trwa blokowania wywołanie Windows Sockets.

  • WSAEADDRNOTAVAIL podany adres nie jest dostępna z komputera lokalnego.

  • WSAEAFNOSUPPORT adresy rodziny określonych nie można używać z tego gniazda.

  • WSAECONNREFUSED próba połączenia została odrzucona.

  • WSAEDESTADDRREQ wymagany jest adres docelowy.

  • WSAEFAULTnSockAddrLen argument jest nieprawidłowy.

  • WSAEINVAL nieprawidłowy adres.

  • WSAEISCONN gniazdo jest już połączony.

  • WSAEMFILE nie więcej deskryptorów plików są dostępne.

  • WSAENETUNREACH sieci jest nieosiągalny z tego hosta w tej chwili.

  • WSAENOBUFSBrak miejsca w buforze jest dostępna.Gniazdo nie podłączony.

  • WSAENOTSOCK deskryptora nie jest gniazdem.

  • WSAETIMEDOUT próba połączenia przekroczyła limit czasu bez ustanowienia połączenia.

  • WSAEWOULDBLOCK gniazdo jest oznaczony jako nieblokujących i natychmiast ukończyć połączenie.

Uwagi

Gniazdo jest niezwiązany, unikatowe wartości przypisane przez system stowarzyszenie lokalnych i gniazdo jest oznaczony jako powiązany.Należy zauważyć, że jeśli pole adres struktury nazwa jest same zera Połącz zwróci zero.Pobierz rozszerzone informacje o błędach, należy wywołać GetLastError funkcji składowej.

Dla strumienia gniazd (typu SOCK_STREAM), aktywne połączenie jest inicjowane zagranicznych hosta.Po pomyślnym zakończeniu wywołanie socket gniazdo jest gotowy do wysyłania i odbierania danych.

Dla gniazdo datagramu (typu SOCK_DGRAM), ustawić domyślne miejsce docelowe, które będą używane w kolejnych wysłać i odbioru wywołań.

Wymagania

Nagłówek: afxsock.h

Zobacz też

Informacje

Klasa CAsyncSocket

Wykres hierarchii

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::GetSockName

CAsyncSocket::Create

CAsyncSocket::AsyncSelect