CAsyncSocket::Create

在构造套接字对象之后创建 windows 套接字并将其附加 创建 调用成员函数。

BOOL Create(
   UINT nSocketPort = 0,
   int nSocketType = SOCK_STREAM,
   long lEvent = FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE,
   LPCTSTR lpszSocketAddress = NULL 
);

参数

  • nSocketPort
    已知的端口将使用的套接字或 0,如果您希望 Windows 套接字选择端口。

  • nSocketType
    SOCK_STREAMSOCK_DGRAM

  • lEvent
    指定网络活动的组合应用程序感兴趣的位掩码。

    • FD_READ 希望接收准备的通知阅读。

    • FD_WRITE 希望接收准备的通知编写的。

    • FD_OOB 希望接收带外数据到达的通知。

    • FD_ACCEPT 希望接收传入连接的通知。

    • FD_CONNECT 希望接收已连接的通知。

    • FD_CLOSE 希望接收套接字关闭的通知。

  • lpszSockAddress
    对包含连接的套接字的网络地址的字符串的指针,一个虚线的数字 (如“128.56.22.8”。通过此参数的 字符串指示 CAsyncSocket 实例都应侦听在任何网络接口的客户端事件。

返回值

非零,如果函数运行成功;否则 0 和特定错误代码可以通过调用 GetLastError检索。 下面的错误适用于此成员函数:

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

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

  • WSAEAFNOSUPPORT 指定的地址族不受支持。

  • 块 Windows 套接字操作的WSAEINPROGRESS 的进度中。

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

  • WSAENOBUFS 不缓冲区域空间可用。 套接字无法创建。

  • WSAEPROTONOSUPPORT 该指定端口不受支持。

  • WSAEPROTOTYPE 该指定端口为此套接字的错误类型。

  • WSAESOCKTNOSUPPORT 指定的套接字类型在该地址族不受支持。

备注

创建 调用 存储,并且,如果成功,则调用 绑定 绑定套接字到指定的地址。 套接字以下类型支持:

  • SOCK_STREAM 的排序提供,可靠,全双工,基于连接的字节流。 对于 internet 地址族使用传输控制协议 (TCP)。

  • SOCK_DGRAM 支持数据图中,是固定 (通常较小的) 最大长度的非连接,不可靠的数据包。 对于 internet 地址族使用用户数据协议 (UDP)。

    备注

    接受 成员函数采用对新,空 CSocket 对象作为其参数。在调用 接受之前,必须构建此对象。记住,如果此套接字对象超出范围,连接将关闭。不要调用此新套接字对象的 创建

重要

创建 是线程安全的 not。如果调用它在既可以由不同的线程同时调用的一种多线程环境中,请务必保护每个调用与 mutex 或其他同步锁。

有关流和数据进行套接字的更多信息,请参见位于 Windows 套接字:背景Windows 套接字:端口和存储地址Windows 套接字 2 API

要求

Header: afxsock.h

请参见

参考

CAsyncSocket选件类

层次结构图

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::Connect

CAsyncSocket::GetSockName

CAsyncSocket::IOCtl

CAsyncSocket::Listen

CAsyncSocket::Receive

CAsyncSocket::Send

CAsyncSocket::ShutDown