Share via


Número máximo de soquetes aceitos

O número máximo de soquetes aceitos por um determinado provedor de serviços do Windows Sockets é específico da implementação. O provedor Microsoft Winsock limita o número máximo de soquetes aceitos somente pela memória disponível no computador local. No entanto, provedores Winsock de terceiros podem ter limitações no número de soquetes aceitos. 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 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 select 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 fd_set usadas com a função select. 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 select e WSAPoll, o implementador deverá definir o FD_SETSIZE de manifesto em cada arquivo 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 para a linha de comando do compilador para 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 FD_XXX usadas pelas funções select e WSAPoll.

fd_set

Portabilidade dos Aplicativos Soquete para o Winsock

select

Considerações de Programação do Winsock

WSAStartup

WSAPoll