Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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).