API componente protocollo WebSocket

Scopo

Importante

Scelta di un'API WebSocket in Windows: sono disponibili più opzioni WebSocket. Scegliere in base al tipo di applicazione:

API Ideale per Note
WinHTTP WebSocket (WinHttpWebSocketSend e così via) Servizi, codice lato server, app C/C++ che richiedono WebSocket su WinHTTP Si integra con il proxy/autenticazione WinHTTP; richiede Windows 8+. Consigliato per scenari di servizio Win32.
Windows. Networking.Sockets (MessageWebSocket, StreamWebSocket) App UWP, app desktop C++/WinRT moderne API di livello più alto; gestisce il frame e TLS. Le app devono implementare la propria logica di riconnessione. Consigliato per le nuove app desktop/UWP.
Componente del protocollo WebSocket (questa API - websocket.dll) Implementazioni di trasporto personalizzate che necessitano solo di frame/analisi del protocollo Basso livello: non gestisce l'I/O, l'aggiornamento HTTP, l'autenticazione o il proxy. È necessario fornire il proprio trasporto (in genere Winsock + TLS non elaborato).
Sistema.Net. WebSocket (.NET) Applicazioni .NET Gestito, asincrono e multipiattaforma. Usare ClientWebSocket per i client.
Librerie di terze parti (libwebsocket, Boost.Beast e così via) C/C++ multipiattaforma Non Windows specifico, utile quando la destinazione è più piattaforme.

Per la maggior parte delle applicazioni, WinHTTP WebSocket (services/Win32) o Windows. Networking.Sockets (app moderne) è la scelta corretta. Usare l'API componente protocollo WebSocket di basso livello solo se è necessario un frame personalizzato su un trasporto completamente controllato.

L'API componente del protocollo WebSocket abilita canali di comunicazione bidirezionali asincroni su HTTP che funzionano tra intermediari di rete esistenti. Con l'API componente del protocollo WebSocket, un client usa HTTP per comunicare con un server e quindi entrambi i lati passano all'uso del protocollo sottostante su cui è stato eseguito il layer HTTP, ad esempio TCP o SSL. L'obiettivo è usare prima HTTP per attraversare gli intermediari di rete e quindi usare il canale TCP/SSL sottostante end-to-end stabilito per la comunicazione bidirezionale dell'applicazione. Il protocollo WebSocket [WSPROTO] è definito in IETF, mentre un'API Javascript associata (WebSockets) viene definita in WHATWG.

In questa sezione

Argomento Descrizione
tipi di dati dell'API del protocollo WebSocket
L'API componente del protocollo WebSocket definisce questi tipi di dati.
enumerazioni api del protocollo WebSocket
L'API componente del protocollo WebSocket definisce queste enumerazioni.
Funzioni API del componente del protocollo WebSocket
L'API componente del protocollo WebSocket definisce queste funzioni.
strutture DELL'API del protocollo WebSocket
L'API componente del protocollo WebSocket definisce queste strutture.

Destinatari per sviluppatori

L'API componente del protocollo WebSocket è progettata per l'uso da parte dei programmatori C/C++. È necessaria la familiarità con la rete HTTP e Windows.

Nota

Il modo preferito per usare il protocollo WebSocket in Windows è tramite l'API Servizi HTTP Windows (WinHTTP) o lo spazio dei nomi Windows.Networking.Sockets.

Requisiti di runtime

L'API componente del protocollo WebSocket richiede Windows 8 e versioni successive del sistema operativo Windows. Le API possono essere collegate dinamicamente tramite websocket.dll.

Nota

websocket.dll fornisce supporto per le intestazioni HTTP correlate a client e server, verifica i dati dell'handshake ricevuti e analizza il flusso di dati WebSocket. Non gestisce operazioni specifiche di HTTP (reindirizzamento, autenticazione, supporto proxy) né esegue alcuna operazione di I/O (invio o ricezione di byte di flusso WebSocket).

HTTP

servizi HTTP Windows (WinHTTP)