Categorías de sockets de kernel de Winsock

La interfaz de programación de red (NPI) de Winsock Kernel (WSK) define cinco categorías diferentes de sockets: sockets básicos, sockets de escucha, sockets de datagramas, sockets orientados a la conexión y sockets de flujo. Cada categoría de socket WSK tiene una funcionalidad única y admite un conjunto diferente de funciones de socket. Una aplicación WSK debe especificar qué categoría de socket WSK está creando cada vez que crea un nuevo socket. El propósito de cada categoría de socket WSK es el siguiente:

Sockets básicos
Los sockets básicos solo se usan para obtener y establecer opciones de socket de pila de transporte o para realizar operaciones de control de E/S de socket. Los sockets básicos no se pueden enlazar a una dirección de transporte local y no admiten el envío o recepción de datos de red.

Sockets de escucha
Los sockets de escucha se usan para escuchar las conexiones entrantes desde direcciones de transporte remotos. La funcionalidad de un socket de escucha incluye toda la funcionalidad de un socket básico.

Sockets de datagrama
Los sockets de datagrama se usan para enviar y recibir datagramas. La funcionalidad de un socket de datagrama incluye toda la funcionalidad de un socket básico.

Sockets orientados a la conexión
Los sockets orientados a la conexión se usan para enviar y recibir datos de red a través de conexiones establecidas. La funcionalidad de un socket orientado a la conexión incluye toda la funcionalidad de un socket básico.

Sockets de flujo
Los sockets de flujo se usan para escuchar conexiones entrantes desde direcciones de transporte remotas (actuar como socket de escucha) o para enviar y recibir datos de red a través de conexiones establecidas (actúan como un socket orientado a la conexión). Use un socket de flujo cuando no sepa en el momento de la creación del socket si desea un socket de escucha o un socket orientado a la conexión. La funcionalidad de un socket de flujo incluye toda la funcionalidad de un socket básico.