Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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).