Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El seleccionar función se usa para determinar el estado de uno o varios sockets de un conjunto. Para cada socket, el autor de la llamada puede solicitar información sobre el estado de lectura, escritura o error. Un conjunto de sockets se indica mediante una estructura fd_set.
Windows Sockets 2 permite que una aplicación use más de un proveedor de servicios, pero el seleccionar función se limita a un conjunto de sockets asociados a un único proveedor de servicios. Esto no impide que una aplicación tenga varios sockets abiertos a través de varios proveedores.
Hay dos maneras de determinar el estado de un conjunto de sockets que abarca más de un proveedor de servicios:
- Con el WSAWaitForMultipleEvents o funciones WSAEventSelect cuando se emplea la semántica de bloqueo.
- Con el WSAAsyncSelect función cuando se emplean operaciones de bloqueo y la aplicación ya usa una bomba de mensajes de Windows.
Cuando una aplicación necesita usar la semántica de bloqueo en un conjunto de sockets que abarca varios proveedores, se recomienda WSAWaitForMultipleEvents. La aplicación también puede usar la función WSAEventSelect, que permite que los eventos de red de FD_XXX (vea WSAEventSelect) se asocien a un objeto de evento y se controlan desde dentro del paradigma del objeto de evento (descrito en objetos de E/S superpuestos y objetos de evento).
La función WSAAsyncSelect no está restringida a un único proveedor porque toma un único descriptor de socket como parámetro de entrada. Tenga en cuenta, sin embargo, que WSAEventSelect función ofrece un mejor rendimiento y escalabilidad en WSAAsyncSelect como la sobrecarga de mantener la bomba de mensajes con mensajes de evento Winsock aumenta a medida que aumenta el número total de sockets que se usan.