WebSocket Protocol Component-API

Doel

Important

Een WebSocket-API kiezen op Windows: er zijn meerdere WebSocket-opties. Kies op basis van uw toepassingstype:

API Geschikt voor Aantekeningen
WinHTTP WebSocket (WinHttpWebSocketSend, enzovoort) Services, code aan de serverzijde, C/C++-apps die WebSocket nodig hebben via WinHTTP Integreert met WinHTTP-proxy/-verificatie; vereist Windows 8+. Aanbevolen voor Win32-servicescenario's.
Windows. Networking.Sockets (MessageWebSocket, StreamWebSocket) UWP-apps, moderne C++/WinRT-desktop-apps API op het hoogste niveau; verwerkt framelijsten en TLS. Apps moeten hun eigen logica voor opnieuw verbinden implementeren. Aanbevolen voor nieuwe desktop-/UWP-apps.
WebSocket Protocol Component (deze API — websocket.dll) Aangepaste transportimplementaties die alleen protocollijsten/parseren nodig hebben Laag niveau: verwerkt I/O, HTTP-upgrade, verificatie of proxy niet . U moet uw eigen transport opgeven (meestal onbewerkte Winsock + TLS).
Systeem.Net. WebSockets (.NET) .NET-toepassingen Beheerd, async-first, platformoverschrijdend. Gebruiken ClientWebSocket voor clients.
Bibliotheken van derden (libwebsockets, Boost.Beast, enzovoort) Platformoverschrijdende C/C++ Niet Windows specifiek; handig bij het richten van meerdere platforms.

Voor de meeste toepassingen is WinHTTP WebSocket (services/Win32) of Windows. Networking.Sockets (moderne apps) is de juiste keuze. Gebruik de WebSocket Protocol Component-API op laag niveau alleen als u aangepaste framelijsten nodig hebt voor een transport dat u volledig beheert.

De WebSocket Protocol Component-API maakt asynchrone, bidirectionele communicatiekanalen mogelijk via HTTP die werken tussen bestaande netwerktussenpersonen. Met de WebSocket Protocol Component-API gebruikt een client HTTP om te communiceren met een server en vervolgens schakelen beide zijden over naar het onderliggende protocol waarop HTTP is gelaagd (zoals TCP of SSL). Het doel is om eerst HTTP te gebruiken om via netwerktussenpersonen te gaan en vervolgens het gevestigde end-to-end onderliggende TCP/SSL-kanaal te gebruiken voor bidirectionele toepassingscommunicatie. Het WebSocket-protocol [WSPROTO] wordt gedefinieerd op de IETF, terwijl een bijbehorende Javascript-API (WebSockets) wordt gedefinieerd in de WHATWG.

In deze sectie

Onderwerp Beschrijving
Api-gegevenstypen voor websocket-protocolonderdelen
De WebSocket Protocol Component-API definieert deze gegevenstypen.
API-opsommingen voor websocket-onderdelen
De WebSocket Protocol Component-API definieert deze opsommingen.
API-functies voor WebSocket-protocolonderdelen
De WebSocket Protocol Component-API definieert deze functies.
Api-structuren voor websocket-protocolonderdelen
De WebSocket Protocol Component-API definieert deze structuren.

Doelgroep voor ontwikkelaars

De WebSocket Protocol Component-API is ontworpen voor gebruik door C/C++ programmeurs. Bekendheid met HTTP- en Windows-netwerken is vereist.

Notitie

De voorkeursmethode voor het gebruik van het WebSocket-protocol in Windows is via de Windows HTTP Services-API (WinHTTP) of de Windows.Networking.Sockets-naamruimte.

Runtimevereisten

Voor de WebSocket Protocol Component-API is Windows 8 en latere versies van het Windows-besturingssysteem vereist. De API's kunnen dynamisch worden gekoppeld via websocket.dll.

Notitie

websocket.dll biedt ondersteuning voor http-headers die zijn gerelateerd aan client- en server-handshake, verifieert ontvangen handshake-gegevens en parseert de WebSocket-gegevensstroom. Het verwerkt geen HTTP-specifieke bewerkingen (omleiding, verificatie, proxyondersteuning) en voert geen I/O-bewerkingen uit (het verzenden of ontvangen van WebSocket-stroombytes).

HTTP-

Windows HTTP Services (WinHTTP)