支持的最大套接字数

特定Windows套接字服务提供程序支持的最大套接字数特定于实现。 Microsoft Winsock 提供程序仅限制本地计算机上的可用内存支持的最大套接字数。 但是,第三方 Winsock 提供程序可能会对支持的套接字数量有限制。 应用程序不应对特定数量的套接字的可用性做出任何假设。 有关本主题的详细信息,请参阅 WSAStartup

FD_SET并选择

Winsock2.h 头文件中定义了许多FD_XXX宏,用于将应用程序移植到UNIX环境中的Windows。 这些宏与 selectWSAPoll 函数一起使用,用于将应用程序移植到Windows。 Windows Sockets 应用程序可以使用的最大套接字数不受清单常量FD_SETSIZE的影响。 Winsock2.h 头文件中定义的此值用于构造与 select 函数一起使用的FD_SET结构。 Winsock2.h 中的默认值为 64。 如果应用程序旨在能够使用 selectWSAPoll 函数处理超过 64 个套接字,则实现程序应在包含 Winsock2.h 头文件之前在每个源文件中定义清单FD_SETSIZE。 执行此操作的一种方法可能是在生成文件中的编译器选项中包含定义。 例如,可以将“-DFD_SETSIZE=128”作为 Microsoft C++ 编译器命令行的选项。 必须强调,将FD_SETSIZE定义为特定值不会影响Windows套接字服务提供商提供的实际套接字数。 此值仅影响 selectWSAPoll 函数使用的FD_XXX宏。

FD_SET

将套接字应用程序移植到 Winsock

选择

Winsock 编程注意事项

WSAStartup

WSAPoll