API de componentes del protocolo WebSocket

Propósito

Importante

Elección de una API de WebSocket en Windows: hay varias opciones de WebSocket. Elija en función del tipo de aplicación:

API Más adecuado para Notas
WinHTTP WebSocket (WinHttpWebSocketSend, etc.) Servicios, código del lado servidor, aplicaciones de C/C++ que necesitan WebSocket a través de WinHTTP Se integra con el proxy/autenticación winHTTP; requiere Windows 8+. Recomendado para escenarios de servicio Win32.
Windows. Networking.Sockets (MessageWebSocket, StreamWebSocket) Aplicaciones para UWP, aplicaciones de escritorio modernas de C++/WinRT API de nivel superior; controla el marco y TLS. Las aplicaciones deben implementar su propia lógica de reconexión. Se recomienda para las nuevas aplicaciones de escritorio o UWP.
Componente de protocolo WebSocket (esta API, websocket.dll) Implementaciones de transporte personalizadas que solo necesitan marco o análisis de protocolos Bajo nivel: no controla la E/S, la actualización HTTP, la autenticación o el proxy. Debe proporcionar su propio transporte (normalmente sin procesar Winsock + TLS).
Sistema.Net. WebSockets (.NET) Aplicaciones .NET Administrado, asincrónico y multiplataforma. Se usa ClientWebSocket para los clientes.
Bibliotecas de terceros (libwebsockets, Boost.Beast, etc.) C/C++ multiplataforma No Windows específico; útil al dirigirse a varias plataformas.

Para la mayoría de las aplicaciones, WinHTTP WebSocket (services/Win32) o Windows. Networking.Sockets (aplicaciones modernas) es la opción correcta. Use la API de componentes de protocolo WebSocket de bajo nivel solo si necesita marcos personalizados sobre un transporte que controle por completo.

La API de componentes del protocolo WebSocket permite canales de comunicación asincrónicos bidireccionales a través de HTTP que funcionan en intermediarios de red existentes. Con la API de componentes del protocolo WebSocket, un cliente usa HTTP para comunicarse con un servidor y, a continuación, ambos lados cambian al uso del protocolo subyacente en el que HTTP estaba en capas (como TCP o SSL). El objetivo es usar primero HTTP para recorrer a través de intermediarios de red y, a continuación, usar el canal TCP/SSL subyacente subyacente establecido para la comunicación bidireccional de la aplicación. El protocolo WebSocket [WSPROTO] se define en IETF, mientras que una API de Javascript asociada (WebSockets) se define en whatWG.

En esta sección

Tema Descripción
tipos de datos de api de componentes de protocolo WebSocket
La API de componentes del protocolo WebSocket define estos tipos de datos.
enumeraciones de api de componentes de protocolo WebSocket
WebSocket Protocol Component API define estas enumeraciones.
funciones de API de componentes del protocolo WebSocket
WebSocket Protocol Component API define estas funciones.
estructuras de API de componentes del protocolo WebSocket
WebSocket Protocol Component API define estas estructuras.

Público para desarrolladores

WebSocket Protocol Component API está diseñado para su uso por parte de programadores de C/C++. Es necesario familiarizarse con las redes HTTP y Windows.

Nota

La manera preferida de usar el protocolo WebSocket en Windows es a través de la API de Servicios HTTP de Windows (WinHTTP) de o el espacio de nombres Windows.Networking.Sockets.

Requisitos en tiempo de ejecución

La API de componentes del protocolo WebSocket requiere Windows 8 y versiones posteriores del sistema operativo Windows. Las API se pueden vincular dinámicamente a través de websocket.dll.

Nota

websocket.dll proporciona compatibilidad con encabezados HTTP relacionados con el protocolo de enlace de cliente y servidor, comprueba los datos de protocolo de enlace recibidos y analiza el flujo de datos de WebSocket. No controla ninguna operación específica de HTTP (redireccionamiento, autenticación, compatibilidad con proxy) ni realiza ninguna operación de E/S (envío o recepción de bytes de flujo de WebSocket).

HTTP

servicios HTTP de Windows (WinHTTP)