API de composant de protocole WebSocket

But

Important

Choix d’une API WebSocket sur Windows : il existe plusieurs options WebSocket. Choisissez en fonction de votre type d’application :

API Idéal pour Remarques
WinHTTP WebSocket (WinHttpWebSocketSend, etc.) Services, code côté serveur, applications C/C++ nécessitant WebSocket sur WinHTTP S’intègre au proxy/authentification WinHTTP ; nécessite Windows 8+. Recommandé pour les scénarios de service Win32.
Windows. Networking.Sockets (MessageWebSocket, StreamWebSocket) Applications UWP, applications de bureau C++/WinRT modernes API de niveau supérieur ; gère le cadrage et TLS. Les applications doivent implémenter leur propre logique de reconnexion. Recommandé pour les nouvelles applications de bureau/UWP.
Composant de protocole WebSocket (cette API — websocket.dll) Implémentations de transport personnalisées qui ont uniquement besoin d’un cadre/analyse de protocole Bas niveau : ne gère pas les E/S, la mise à niveau HTTP, l’authentification ou le proxy. Vous devez fournir votre propre transport (généralement raw Winsock + TLS).
Système.Net. WebSockets (.NET) applications .NET Managé, async-first, multiplateforme. Utiliser ClientWebSocket pour les clients.
Bibliothèques tierces (libwebsockets, Boost.Beast, etc.) Multiplateforme C/C++ Non spécifique à Windows ; utile lors du ciblage de plusieurs plateformes.

Pour la plupart des applications, WinHTTP WebSocket (services/Win32) ou Windows. Networking.Sockets (applications modernes) est le bon choix. Utilisez l’API du composant de protocole WebSocket de bas niveau uniquement si vous avez besoin d’un cadre personnalisé sur un transport que vous contrôlez entièrement.

L’API du composant protocole WebSocket permet des canaux de communication bidirectionnels asynchrones via HTTP qui fonctionnent sur des intermédiaires réseau existants. Avec l’API composant de protocole WebSocket, un client utilise HTTP pour communiquer avec un serveur, puis les deux côtés basculent vers l’utilisation du protocole sous-jacent sur lequel HTTP a été superposé (par exemple, TCP ou SSL). L’objectif est d’utiliser d’abord HTTP pour parcourir les intermédiaires réseau, puis utiliser le canal TCP/SSL sous-jacent de bout en bout établi pour la communication d’application bidirectionnelle. Le protocole WebSocket [WSPROTO] est défini au niveau de l’IETF, tandis qu’une API Javascript associée (WebSockets) est définie au niveau de WHATWG.

Dans cette section

Sujet Description
types de données de l’API du composant WebSocket Protocol
L’API composant protocole WebSocket définit ces types de données.
énumérations de l’API du composant protocole WebSocket
L’API composant de protocole WebSocket définit ces énumérations.
fonctions d’API du composant protocole WebSocket
L’API composant de protocole WebSocket définit ces fonctions.
structures d’API de composant webSocket protocol
L’API composant de protocole WebSocket définit ces structures.

Public des développeurs

L’API du composant protocole WebSocket est conçue pour être utilisée par les programmeurs C/C++. Une connaissance de la mise en réseau HTTP et Windows est requise.

Note

La méthode recommandée pour utiliser le protocole WebSocket sur Windows consiste à utiliser l'de l’API Windows HTTP Services (WinHTTP) ou l’espace de noms Windows.Networking.Sockets .

Conditions requises pour l’exécution

L’API du composant protocole WebSocket nécessite Windows 8 et versions ultérieures du système d’exploitation Windows. Les API peuvent être liées dynamiquement via websocket.dll.

Note

websocket.dll prend en charge les en-têtes HTTP associés au client et au serveur, vérifie les données de négociation reçues et analyse le flux de données WebSocket. Il ne gère aucune opération spécifique à HTTP (redirection, authentification, prise en charge du proxy) ni effectuer d’opérations d’E/S (envoi ou réception d’octets de flux WebSocket).

http

Windows HTTP Services (WinHTTP)