共用方式為


CAsyncSocket::Connect

呼叫此成員函式以非關聯資料流或資料包通訊端的連接。

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

參數

  • lpszHostAddress
    這個物件連接的通訊端位址:一個電腦名稱 (例如「ftp.microsoft.com」或已虛線的數字 (例如「128.56.22.8」。

  • nHostPort
    識別應用程式通訊的通訊埠。

  • lpSockAddr
    out 包含連接的通訊端位址的 SOCKADDR 結構的指標。

  • nSockAddrLen
    位址的長度 (以 lpSockAddr 的 (以位元組為單位)。

傳回值

如果不是零,則函式成功,否則 0 和特定錯誤碼來呼叫 GetLastError擷取。 如果這個值 WSAEWOULDBLOCK一個錯誤碼,因此,您的應用程式使用可覆寫的回呼,您的應用程式會收到 OnConnect 訊息,當連接作業完成。 下列錯誤套用至這個成員函式:

  • WSANOTINITIALISED A 成功 AfxSocketInit 必須在使用此 API 之前發生。

  • WSAENETDOWN 視窗通訊端實作偵測網路子系統失敗。

  • WSAEADDRINUSE 指定位址的已在使用中。

  • 封鎖 Windows Sockets 呼叫的WSAEINPROGRESS A 正在進行中。

  • WSAEADDRNOTAVAIL 指定位址的從本機電腦無法使用。

  • 在指定的家族的WSAEAFNOSUPPORT 位址不能使用這個通訊端。

  • 這個WSAECONNREFUSED 嘗試連接遭拒。

  • WSAEDESTADDRREQ A 需要目的位址。

  • WSAEFAULTnSockAddrLen 引數不正確。

  • WSAEINVAL 無效主機位址。

  • WSAEISCONN 通訊端已連接。

  • WSAEMFILE 沒有其他的檔案描述項無法使用。

  • WSAENETUNREACH 網路無法從這個階段的這個主機為止。

  • WSAENOBUFS 沒有緩衝區空間可供使用。 通訊端無法連接。

  • WSAENOTSOCK 描述元不是通訊端。

  • WSAETIMEDOUT 嘗試連接已逾時,而不需要建立連接。

  • WSAEWOULDBLOCK 通訊端標記為未封鎖,並且連接無法立即完成。

備註

如果通訊端為未繫結,唯一的值指派給區域關聯由系統,因此,通訊端會標示為繫結。 請注意,如果名稱結構的位址欄位中會全部為零, 連接 會傳回零。 若要延伸錯誤資訊,請 GetLastError 呼叫成員函式。

對於資料流通訊端上 (型別), SOCK_STREAM啟始有效連接使用外部主機。 當呼叫端順利完成時,通訊端準備收發 (訊息) 的資料。

對於資料包通訊端 (型別 SOCK_DGRAM),預設的設定,在後續 傳送接收 呼叫會使用。

需求

Header: afxsock.h

請參閱

參考

CAsyncSocket 類別

階層架構圖

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::GetSockName

CAsyncSocket::Create

CAsyncSocket::AsyncSelect