Condividi tramite


Connessione con i socket (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 ]

Invia o ricevi dati nella tua app di Windows Store mediante socket TCP o UDP utilizzando le funzionalità dello spazio dei nomi Windows.Networking.Sockets.

I socket rendono disponibile un'interfaccia di basso livello per l'invio e la ricezione dei dati di rete. Tra le classi primarie da usare con i socket vi sono:

  • DatagramSocket - Usata per supportare la comunicazione di rete tramite un socket di datagramma UDP.
  • StreamSocket - Usata per supportare la comunicazione di rete tramite un socket di flusso TCP.
  • StreamSocketListener - Usata per supportare l'ascolto di una connessione di rete in arrivo tramite un socket di flusso TCP.

Le classi primarie elencate sopra dispongono inoltre di alcune classi di supporto correlate nello spazio dei nomi Windows.Networking.Sockets utilizzato con queste classi.

Pubblico di sviluppatori

Questa funzionalità è progettata per gli sviluppatori di JavaScript/C#/VB.NET/C++ che desiderano abilitare l'uso di socket per le comunicazioni di rete nelle app di Windows Runtime. Include socket TCP e UDP, compresi multicast UDP, per consentire agli sviluppatori di implementare altri protocolli di rete di livello più alto. I socket TCP e UDP possono essere usati da un'app per stabilire connessioni client, rimanere in ascolto in attesa di connessioni e operare come un server o per le operazioni di client e server.

Valuta se utilizzare i seguenti protocolli in base ai requisiti della tua app.

Se l'app Usa

Si connette a un servizio di rete che usa un protocollo esistente (ad esempio SMTP, POP, IMAP o MAPI per la posta) non direttamente supportato da altre funzionalità di rete

Socket TCP o UDP

Si connette a un altro computer sulla stessa rete locale

Socket TCP o UDP

Richiede un semplice protocollo di richiesta/risposta che può comunicare tramite proxy HTTP

API REST (Representational State Transfer) disponibili con C#, VB.NET e C++

Richiede la semantica di tipo socket (trasferimenti bidirezionali asincroni) per connettersi tramite Web, inclusi i proxy HTTP

WebSocket

 

I socket sono supportati dalle classi incluse negli spazi dei nomi Windows.Networking.Sockets e Windows.Networking.

Windows 8 introduce anche un nuovo tipo di socket: WebSocket. Per altre informazioni, vedi Connessione con i WebSocket e le classi MessageWebSocket e StreamWebSocket.

Contenuto della sezione

Argomento Descrizione
Come stabilire una connessione con un socket di flusso

Come fare per stabilire la connessione a una risorsa con un socket di flusso usando TCP per inviare e ricevere dati.

Come stabilire una connessione con un socket di datagramma

Come fare per stabilire la connessione a una risorsa di rete con un socket di datagramma usando UDP per inviare e ricevere dati.

Come usare i controlli avanzati dei socket

Scopri come utilizzare i controlli avanzati per socket con DatagramSocket, StreamSocket o StreamSocketListener.

Come proteggere le connessioni socket con TLS/SSL

Scopri come proteggere le connessioni socket con TLS/SSL utilizzando StreamSocket.

Come impostare i timeout nelle operazioni socket

Illustra come impostare i timeout nelle operazioni socket di rete per limitare il tempo di attesa del termine di un'operazione.

 

Uso dei socket con isolamento rete

La funzionalità di isolamento rete disponibile in Windows 8.1, Windows Phone 8.1 e Windows Server 2012 R2 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 8.1 e Windows Server 2012 R2 prevedono 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 in Windows.Networking.Sockets e negli spazi dei nomi correlati che tentano di accedere alla rete. In Windows viene applicato attivamente l'isolamento rete. Una chiamata all'elemento di una classe 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 vengono aggiunte tramite Microsoft Visual Studio 2013 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 rete vedere Come configurare le funzionalità di isolamento rete.

Argomenti correlati

Altre risorse

Aggiunta del supporto di rete

Connessione con WebSocket

Come configurare le funzionalità di isolamento rete

Come impostare le opzioni di connettività in background

Risolvere i problemi ed eseguire il debug delle connessioni di rete

Riferimento

Windows.Networking

Windows.Networking.Connectivity

Windows.Networking.Sockets

Esempi

Esempio DatagramSocket

Esempio StreamSocket