Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A função select é usada para determinar o status de um ou mais soquetes em um conjunto. Para cada soquete, o chamador pode solicitar informações sobre o status de leitura, gravação ou erro. Um conjunto de tomadas é indicado por uma estrutura fd_set.
O Windows Sockets 2 permite que um aplicativo use mais de um provedor de serviços, mas a função select é limitada a um conjunto de soquetes associados a um único provedor de serviços. Isso não restringe de forma alguma um aplicativo de ter vários soquetes abertos através de vários provedores.
Há duas maneiras de determinar o status de um conjunto de soquetes que abrange mais de um provedor de serviços:
- Usando o WSAWaitForMultipleEvents ou WSAEventSelect funções ao bloquear a semântica são empregadas.
- Usando o WSAAsyncSelect função quando operações sem bloqueio são empregadas e o aplicativo já está usando uma bomba de mensagens do Windows.
Quando um aplicativo precisa usar semântica de bloqueio em um conjunto de soquetes que abrange vários provedores, WSAWaitForMultipleEvents é recomendado. O aplicativo também pode usar a funçãoWSAEventSelect, que permite que os eventos de rede FD_XXX (consulte WSAEventSelect) se associem a um objeto de evento e sejam manipulados de dentro do paradigma de objeto de evento (descrito em E/S sobreposta e objetos de evento).
A função WSAAsyncSelect não está restrita a um único provedor porque usa um único descritor de soquete como parâmetro de entrada. No entanto, observe que função WSAEventSelect oferece melhor desempenho e escalabilidade em relação WSAAsyncSelect como a sobrecarga de manutenção da bomba de mensagens com mensagens de evento Winsock aumenta à medida que o número total de soquetes sendo usados aumenta.