Api för WebSocket Protocol-komponent

Avsikt

Important

Välja ett WebSocket-API på Windows – Det finns flera WebSocket-alternativ. Välj baserat på din programtyp:

API Bäst för Notes
WinHTTP WebSocket (WinHttpWebSocketSend osv.) Tjänster, kod på serversidan, C/C++-appar som behöver WebSocket via WinHTTP Integrerar med WinHTTP-proxy/autentisering; kräver Windows 8+. Rekommenderas för Win32-tjänstscenarier.
Windows. Networking.Sockets (MessageWebSocket, StreamWebSocket) UWP-appar, moderna C++/WinRT-skrivbordsappar API på högsta nivå; hanterar inramning och TLS. Appar måste implementera sin egen återanslutningslogik. Rekommenderas för nya skrivbords-/UWP-appar.
WebSocket Protocol-komponent ( det här API:et – websocket.dll) Anpassade transportimplementeringar som bara behöver protokollramning/parsning Låg nivå: hanterar inte I/O, HTTP-uppgradering, autentisering eller proxy. Du måste ange din egen transport (vanligtvis rå Winsock + TLS).
System.Net. WebSockets (.NET) .NET-applikationer Hanterad, asynkron, plattformsoberoende. Används ClientWebSocket för klienter.
Bibliotek från tredje part (libwebsockets, Boost.Beast osv.) Plattformsoberoende C/C++ Inte Windows specifikt, användbart när du riktar in dig på flera plattformar.

För de flesta program, WinHTTP WebSocket (tjänster/Win32) eller Windows. Networking.Sockets (moderna appar) är rätt val. Använd endast WebSocket Protocol Component API på låg nivå om du behöver anpassad inramning över en transport som du har fullständig kontroll över.

WebSocket Protocol Component API möjliggör asynkrona, dubbelriktade kommunikationskanaler via HTTP som fungerar mellan befintliga nätverksförmedlare. Med WebSocket Protocol Component API använder en klient HTTP för att kommunicera med en server, och sedan växlar båda sidor till att använda det underliggande protokollet som HTTP var skiktat på (till exempel TCP eller SSL). Målet är att först använda HTTP för att gå över nätverksförmedlare och sedan använda den etablerade underliggande TCP/SSL-kanalen för dubbelriktad programkommunikation. WebSocket-protokollet [WSPROTO] definieras i IETF, medan ett associerat Javascript-API (WebSockets) definieras i WHATWG.

I det här avsnittet

Ämne Beskrivning
WebSocket Protocol-komponentens API-datatyper
WebSocket Protocol Component API definierar dessa datatyper.
WebSocket Protocol Component API-uppräkningar
WebSocket Protocol Component API definierar dessa uppräkningar.
Api-funktioner för WebSocket Protocol-komponent
WebSocket Protocol Component API definierar dessa funktioner.
Api-strukturer för WebSocket Protocol-komponent
WebSocket Protocol Component API definierar dessa strukturer.

Målgrupp för utvecklare

WebSocket Protocol Component API är utformat för användning av C/C++-programmerare. Kunskaper om HTTP- och Windows-nätverk krävs.

Not

Det bästa sättet att använda WebSocket-protokollet i Windows är via api:et Windows HTTP Services (WinHTTP) eller Windows.Networking.Sockets-namnområdet.

Körningskrav

WebSocket Protocol Component API kräver Windows 8 och senare versioner av Windows-operativsystemet. API:erna kan länkas dynamiskt via websocket.dll.

Not

websocket.dll ger stöd för klient- och serverhandskakningsrelaterade HTTP-huvuden, verifierar mottagna handskakningsdata och parsar WebSocket-dataströmmen. Den hanterar inte några HTTP-specifika åtgärder (omdirigering, autentisering, proxysupport) eller utför några I/O-åtgärder (skickar eller tar emot WebSocket-strömbyte).

HTTP-

Windows HTTP-tjänster (WinHTTP)