Windows Win32Rede (Winsock)ws2_32.dll
select
Aguarda até que um ou mais sockets fiquem prontos para leitura, escrita, ou sinalizem exceção.
Descrição
Como no Linux, é a API de multiplexação de I/O mais antiga; para escalabilidade em Windows, prefira I/O Completion Ports em vez de select sobre muitos sockets.
Header:
winsock2.hDLL: ws2_32.dllAssinatura
int select(
int nfds,
fd_set * readfds,
fd_set * writefds,
fd_set * exceptfds,
const timeval * timeout
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| nfds | int | Ignorado no Winsock (mantido apenas por compatibilidade de assinatura com BSD sockets). |
| readfds | fd_set * | Conjunto de sockets a observar para leitura. |
| writefds | fd_set * | Conjunto de sockets a observar para escrita. |
| exceptfds | fd_set * | Conjunto de sockets a observar para exceções. |
| timeout | const timeval * | Tempo máximo de espera; NULL bloqueia indefinidamente. |
Valor de retorno
Número total de sockets prontos em sucesso; SOCKET_ERROR em erro (consulte WSAGetLastError).
Códigos de erro (GetLastError)
- ERROR_NOT_SUPPORTED(50)
- O pedido não é suportado.
Relacionadas
Equivalente em Linux x86_64