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