Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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).