Compartir a través de


Número máximo de sockets admitidos

El número máximo de sockets que admite un proveedor de servicios de Windows Sockets determinado es específico de la implementación. El proveedor WinSock de Microsoft limita el número máximo de sockets admitidos a la memoria disponible en el equipo local. Sin embargo, los proveedores de WinSock de terceros pueden imponer limitaciones en el número de sockets admitidos. Una aplicación no debe hacer suposiciones sobre la disponibilidad de un determinado número de sockets. Para obtener más información sobre este tema, vea WSAStartup.

FD_SET y select

Hay varias macros de FD_XXX definidas en el archivo de encabezado Winsock2.h para su uso durante la migración de aplicaciones a Windows desde el entorno UNIX. Estas macros se usan con las funciones select y WSAPoll para migrar aplicaciones a Windows. El número máximo de sockets que una aplicación de Windows Sockets puede usar no se ve afectado por la constante de manifiesto FD_SETSIZE. Este valor definido en el archivo de encabezado Winsock2.h se usa para construir las estructuras de fd_set usadas con la función select. El valor predeterminado de Winsock2.h es 64. Si una aplicación está diseñada para funcionar con más de 64 sockets mediante las funciones select y WSAPoll, el implementador debe definir el manifiesto FD_SETSIZE en cada archivo de origen antes de incluir el archivo de encabezado Winsock2.h. Una manera de hacerlo puede ser incluyendo la definición dentro de las opciones del compilador en el archivo make. Por ejemplo, podría agregar "-DFD_SETSIZE=128" como opción a la línea de comandos del compilador para Microsoft C++. Debe destacarse que definir FD_SETSIZE como un valor determinado no tiene ningún efecto en el número real de sockets proporcionados por un proveedor de servicios de Windows Sockets. Este valor solo afecta a las macros FD_XXX usadas por las funciones select y WSAPoll.

fd_set

Portar aplicaciones de socket a Winsock

select

Consideraciones de programación de Winsock

WSAStartup

WSAPoll