Condividi tramite


Connessione con WebSocket (HTML)

[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]

Inviare e ricevere dati con WebSockets in modo da stabilire connessioni di rete bidirezionali in tempo reale sicure e a bassa latenza utilizzando le funzionalità nello spazio dei nomiWindows.Networking.Sockets.

Informazioni su WebSocket

Il Protocollo WebSocket definisce un meccanismo di comunicazione bidirezionale veloce e sicura tra un client e un server. I dati vengono immediatamente trasferiti su una connessione full duplex su singolo socket, consentendo l'invio e la ricezione dei messaggi in tempo reale da entrambi gli endpoint. Gli oggetti WebSocket sono l'ideale per le app di Windows Runtime che comprendono funzionalità di gioco in tempo reale, notifiche immediate per i social network, visualizzazioni aggiornate delle quotazioni di borsa o delle previsioni del tempo e altre app che richiedono un trasferimento di dati rapido e sicuro. Gli oggetti WebSocket funzionano anche attraverso proxy e firewall in quanto il protocollo WebSocket usa per impostazione predefinita le stesse porte dei Web browser (HTTP e HTTPS).

Per impostare una connessione WebSocket viene scambiata tra il client e il server una sincronizzazione specifica basata su HTTP. Se funziona, il protocollo a livello dell'applicazione viene "aggiornato" da HTTP a WebSocket, usando la connessione TCP precedentemente impostata. Quando si verifica ciò, HTTP si trova completamente escluso. I dati possono essere inviati e ricevuti in qualsiasi momento da entrambi gli endpoint tramite il protocollo WebSocket, fino alla chiusura della connessione WebSocket.

Importante  Un client può usare WebSocket per il trasferimento dei dati solo se il protocollo viene usato anche dal server. Se il server non supporta WebSocket, devi usare un altro metodo per il trasferimento dei dati.

 

Lo spazio dei nomi Windows.Networking.Socketsfornisce supporto per gli oggetti WebSocket client in Windows Runtime. In Windows 8.1 è disponibile il supporto per oggetti WebSocket client e server per le app desktop.

Lo spazio dei nomi Windows.Networking.Sockets definisce due tipi di oggetti WebSocket disponibili per l'uso da parte dei client nelle app di Windows Runtime: MessageWebSocket e StreamWebSocket. La tabella seguente descrive i due tipi di WebSocket.

MessageWebSocket StreamWebSocket
Adatto a scenari tipici in cui i messaggi non sono estremamente grandi. Adatto a scenari in cui vengono trasferiti file di grandi dimensioni (come foto o filmati).
Abilita la notifica alla ricezione di un intero messaggio SocketWeb. Consente la lettura delle sezioni di un messaggio con ciascuna operazione di lettura.
Supporta messaggi UTF-8 e binari. Supporta solo messaggi binari.
Comparabile in qualche modo a un socket UDP (DatagramSocket). Comparabile in qualche modo a un socket TCP (StreamSocket).

 

Uso dei socket con isolamento rete

La funzionalità di isolamento rete disponibile in Windows Runtime consente allo sviluppatore di controllare e limitare l'accesso alla rete da parte di un'app di Windows Runtime. Non tutte le app richiedono l'accesso alla rete, ma per quelle che lo fanno Windows Runtime include vari livelli di accesso alla rete che possono essere abilitati selezionando le funzionalità appropriate.

La funzionalità di isolamento rete consente allo sviluppatore di definire l'ambito di accesso alla rete necessario per ogni app. Un'app per cui non viene definito un ambito appropriato non potrà accedere al tipo di rete specificato e al tipo di richiesta di rete specifico (richieste in uscita iniziate sul lato client oppure richieste in entrata non richieste e richieste in uscita iniziate sul lato client). La capacità di impostare e applicare l'isolamento rete assicura che qualora un'app sia compromessa, potrà accedere solo alle reti per cui è stato esplicitamente consentito l'accesso. Questo riduce decisamente l'impatto su altre applicazioni e su Windows.

L'isolamento rete influisce sugli eventuali elementi della classe nello spazio dei nomi Windows.Networking.Sockets che tentano di accedere alla rete. In Windows viene applicato attivamente l'isolamento rete. Una chiamata a un metodo nella classe MessageWebSocket o StreamWebSocket nello spazio dei nomi Windows.Networking.Sockets che richiede l'accesso alla rete potrebbe non riuscire a causa dell'isolamento rete, se non è stata abilitata la funzionalità di rete appropriata.

Le funzionalità di rete di un'app si configurano nel manifesto dell'app al momento della compilazione. Di solito, le funzionalità di rete vengono aggiunte tramite Microsoft Visual Studio 2013 Update 2 quando si sviluppa l'app. Le funzionalità di rete possono anche essere impostate manualmente nel file manifesto dell'app tramite un editor di testo.

Per ulteriori informazioni sull'isolamento di rete vedere Come configurare le funzionalità di rete.

Pubblico di sviluppatori

Gli esempi degli argomenti seguenti usano JavaScript e sono basati sull'Esempio di WebSocket. Per informazioni sulla creazione di un'app di Windows Runtime in JavaScript, vedi Roadmap per la creazione di app di Windows Runtime in JavaScript.

Contenuto della sezione

Argomento Descrizione
Come connettersi a un MessageWebSocket

Elenca i requisiti e i passaggi specifici per l'uso di un MessageWebSocket per inviare e ricevere dati da un server Web.

Come connettersi a un StreamWebSocket

Elenca i requisiti e i passaggi specifici per l'utilizzo di un StreamWebSocket per inviare e ricevere dati da un server Web.

Come usare i controlli avanzati WebSocket

Spiega come usare i controlli avanzati dei socket per impostare le opzioni su un oggetto WebSocket.

Come proteggere le connessioni WebSocket con TLS/SSL

Spiega come proteggere le connessioni WebSocket con Transport Layer Security (TLS)/Secure Sockets Layer (SSL).

 

Informazioni su funzionalità simili e correlate

Sezione Descrizione
Come configurare le funzionalità di isolamento della rete

Illustra la funzionalità di isolamento della rete e spiega come configurarla in modo che controlli completamente l'accesso alla rete per le app di Windows Store.

Esecuzione delle connessioni di rete con i socket

Elenca i requisiti e i passaggi specifici per l'utilizzo di socket per inviare e ricevere dati da una risorsa di rete.

Aggiunta del supporto di rete

Contiene informazioni per aggiungere il supporto della funzionalità di rete all'app.

Risolvere i problemi ed eseguire il debug delle connessioni di rete

Vengono forniti suggerimenti e informazioni per aiutare a risolvere i problemi di connessione.

 

Argomenti correlati

Altro

Roadmap per app di Windows Runtime scritte in JavaScript

Riferimento

MessageWebSocket

StreamWebSocket

Windows.Networking.Sockets

Esempi

Esempio WebSocket