Número máximo de soquetes com suporte
O número máximo de soquetes com suporte por um determinado provedor de serviços do Windows Sockets é específico para a implementação. O provedor Microsoft Winsock limita o número máximo de soquetes com suporte apenas pela memória disponível no computador local. No entanto, provedores winsock de terceiros podem ter limitações no número de soquetes com suporte. Um aplicativo não deve fazer suposições sobre a disponibilidade de um determinado número de soquetes. Para obter mais informações sobre este tópico, consulte WSAStartup.
FD_SET e selecione
Várias macros de FD_XXX são definidas no arquivo de cabeçalho Winsock2.h para uso na portabilidade de aplicativos para o Windows a partir do ambiente UNIX. Essas macros são usadas com as funções selecionar e WSAPoll para portar aplicativos para o Windows. O número máximo de soquetes que um aplicativo do Windows Sockets pode usar não é afetado pela constante de manifesto FD_SETSIZE. Esse valor definido no arquivo de cabeçalho Winsock2.h é usado na construção das estruturas de fd_set usadas com selecionar função. O valor padrão no winsock2.h é 64. Se um aplicativo for projetado para ser capaz de trabalhar com mais de 64 soquetes usando as funções selecionar e WSAPoll, o implementador deverá definir o manifesto FD_SETSIZE em todos os arquivos de origem antes de incluir o arquivo de cabeçalho Winsock2.h. Uma maneira de fazer isso pode ser incluir a definição dentro das opções do compilador no makefile. Por exemplo, você pode adicionar "-DFD_SETSIZE=128" como uma opção à linha de comando do compilador para o Microsoft C++. Deve-se enfatizar que definir FD_SETSIZE como um valor específico não tem efeito sobre o número real de soquetes fornecidos por um provedor de serviços do Windows Sockets. Esse valor afeta apenas as macros de FD_XXX usadas pelo selecionar funções e WSAPoll.
Tópicos relacionados