Share via


Windows Sockets: fondo

En este artículo se explica la naturaleza y la finalidad de Windows Sockets.El artículo también:

  • Define el término “socket”.

  • Describe el tipo de datos del identificador de SOCKET.

  • Describe los usos de los sockets.

La especificación de Windows Sockets define una interfaz de programación de red de binario- compatible para Microsoft Windows.El Windows Sockets se basa en la implementación de los sockets de UNIX en Berkeley Software distribución (BSD, versión 4,3) de La de California en Berkeley.La especificación incluye rutinas y extensiones de socket de BSD- estilo específicas de Windows.Utilizando Windows Sockets permite a la aplicación para comunicarse a través de cualquier red que se ajuste a Windows Sockets API.En Win32, el Windows Sockets proporciona seguridad para subprocesos.

Mucho Windows Sockets admiten proveedores de software de red en protocolos de red incluido el Protocolo de control de transmisión/Protocolo de Internet (TCP/IP), Xerox Network System (XNS), protocolo de DECnet de Digital Equipment Corporation, internet Packet Exchange/de Novell Corporation's Exchange empaquetado Sequenced (IPX/SPX), y otros.Aunque la actual especificación de Windows Sockets defina la abstracción de sockets para TCP/IP, cualquier protocolo de red puede cumplir con Windows Sockets proporcionar su propia versión de biblioteca de vínculos dinámicos (DLL) que implemente el Windows Sockets.Los ejemplos de aplicaciones comerciales escritas con Windows Sockets incluyen los servidores de X Windows, los emuladores terminales, y los sistemas de correo electrónico.

[!NOTA]

El propósito de Windows Sockets es resumir medida la red subyacente de modo que no tiene que estar bien informa sobre esa red y para que la aplicación pueda ejecutarse en cualquier red que admita sockets.Por consiguiente, esta documentación no analiza los detalles de protocolos de red.

La biblioteca Microsoft Foundation Class (MFC) admite la programación con Windows Sockets API proporcionando dos clases.Una de estas clases, CSocket, proporciona un mayor nivel de abstracción para simplificar la programación de comunicaciones por red.

El Windows Sockets especificación, Windows Sockets: Una interfaz abierto para la red que calculaba En Microsoft Windows, ahora en la versión 1,1, se desarrolló como estándar abierto de red por un grupo grande de individuos y de compañías en la comunidad de TCP/IP y es libremente disponibles para su uso.El modelo de programación de sockets admite un “dominio de comunicación” actualmente, utilizando el conjunto de protocolo de Internet.La especificación de está disponible en Windows SDK.

SugerenciaSugerencia

Dado que los sockets utilizan el conjunto de protocolo de Internet, son la ruta preferida para las aplicaciones que las comunicaciones compatible con internet en “autopista de información.”

Definición de un socket

Un socket es un extremo de comunicación — un objeto a través de que una aplicación de Windows Sockets enviar o recibir los paquetes de datos a través de una red.Un socket tiene un tipo y se asocia a un proceso en ejecución, y un nombre.Actualmente, los sockets intercambian datos normalmente sólo con otros sockets en el mismo “dominio de comunicación”, que utiliza el conjunto de protocolo de Internet.

Ambas clases de sockets son bidireccionales; son flujos de datos que pueden comunicarse en ambas direcciones simultáneamente (dúplex completo).

Dos tipos de socket disponibles:

  • Sockets de secuencia

    Los sockets de secuencia preven un flujo de datos sin límites de registro: una secuencia de bytes.Las secuencias se garantiza para entregar y correctamente para ser ordenadas y para unduplicated.

  • Sockets de datagrama

    Los sockets de datagrama admiten un flujo de datos registro- orientado a objetos que no se garantiza para entregar y no se pueden secuenciar como enviado o unduplicated.

“Secuenciado” significa que los paquetes se entregarán en el orden enviado. "Unduplicated” significa que obtiene un paquete determinado solo una vez.

[!NOTA]

En algunos protocolos de red, como XNS, las secuencias pueden ser registro orientado a objetos, como secuencias de registros en lugar de secuencias de bytes.Bajo el protocolo TCP/IP más común, sin embargo, las secuencias son secuencias de bytes.El Windows Sockets proporciona un nivel de independiente de la abstracción de protocolo subyacente.

Para obtener información sobre estos tipos y de clase de socket a utilizar en qué escenarios, vea Windows Sockets: Sockets de secuencia y Windows Sockets: Sockets de datagrama.

El tipo de datos de SOCKET

Cada objeto de socket de MFC encapsula un identificador a un objeto de Windows Sockets.El tipo de datos de este identificador es SOCKET.Un identificador SOCKET es análogo a HWND para una ventana.Las clases de socket de MFC proporcionan operaciones en el identificador encapsulado.

Describe el tipo de datos SOCKET con detalle en Windows SDK.Vea “tipo de datos y valores de error de socket” bajo Windows Sockets.

Utiliza para sockets

Sockets son muy útiles en al menos tres contextos de comunicación:

  • Modelos clientes-servidores.

  • Escenarios punto a punto, como las aplicaciones de mensajería.

  • Realizar llamadas a procedimiento remoto (RPC) obteniendo la aplicación receptora interpreta un mensaje como una llamada de función.

SugerenciaSugerencia

Lo ideal para utilizar sockets de MFC es cuando escriba ambos extremos de la comunicación: utilizar MFC en ambos extremos.Para obtener más información sobre este tema, incluido cómo administrar el caso si dispone de interfaz con las aplicaciones de no MFC, vea Windows Sockets: El orden de byte.

Para obtener más información, vea la especificación de Windows Sockets: ntohs, ntohl, htons, htonl.También, vea los temas siguientes:

Vea también

Conceptos

Windows Sockets en MFC