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
    对包含连接的套接字地址的 SOCKADDR 结构的指针。

  • nSockAddrLen
    地址的长度。lpSockAddr 的以字节为单位)。

返回值

非零,如果函数运行成功;否则0和特定错误代码可以通过调用 GetLastError检索。 如果这指示 WSAEWOULDBLOCK错误代码,并且,如果您的应用程序使用可重写的回调,应用程序将收到 OnConnect 消息,则连接操作完成。 下面的错误适用于此成员函数:

  • WSANOTINITIALISED 的成功的 AfxSocketInit 必须在使用此API之前发生。

  • WSAENETDOWN Windows套接字实现检测网络子系统失败。

  • WSAEADDRINUSE 所指定的地址已被使用。

  • 块Windows套接字的WSAEINPROGRESS A调用正在进行。

  • WSAEADDRNOTAVAIL 所指定的地址从本地计算机不可用。

  • 在指定的系列的WSAEAFNOSUPPORT 地址不能对该套接字。

  • WSAECONNREFUSED 在尝试连接被拒绝。

  • WSAEDESTADDRREQ 一个需要目标地址。

  • WSAEFAULTnSockAddrLen 参数不正确。

  • WSAEINVAL 无效主机地址。

  • WSAEISCONN 套接字已连接。

  • WSAEMFILE 没有其他文件描述符不可用。

  • WSAENETUNREACH 网络无法从目前的宿为止。

  • WSAENOBUFS 没有缓冲区空间可用。 套接字无法连接。

  • WSAENOTSOCK 描述符不是套接字。

  • WSAETIMEDOUT 尝试连接超时,而不建立连接。

  • WSAEWOULDBLOCK 套接字标记为未占用,并连接无法立即完成。

备注

如果套接字是未绑定,唯一值赋给局部关联由系统,并且,套接字标记为绑定。 请注意,如果名称结构的地址字段是所有零,Connect 将返回零。 若要扩展的错误信息,调用 GetLastError 成员函数。

对于流套接字(类型 SOCK_STREAM),启动活动连接与外部宿主。 当套接字调用时成功完成,套接字准备好送信/受信的数据。

对于数据进行套接字(类型 SOCK_DGRAM),默认目标值设置,在后续 Send 将使用,并 Receive 调用。

要求

Header: afxsock.h

请参见

参考

CAsyncSocket选件类

层次结构图

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::GetSockName

CAsyncSocket::Create

CAsyncSocket::AsyncSelect