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.
Panoramica delle tecnologie di rete disponibili per uno sviluppatore UWP, con suggerimenti su come scegliere le tecnologie appropriate per la tua app.
Sockets
Usare Socket quando si comunica con un altro dispositivo e si vuole usare il proprio protocollo.
Sono disponibili due implementazioni di socket per sviluppatori Universal Windows Platform (UWP): Windows. Networking.Sockets e Winsock. Se si scrive nuovo codice, Windows. Networking.Sockets ha il vantaggio di essere un'API moderna, progettata per l'uso da parte degli sviluppatori UWP. Se si usano librerie di rete multipiattaforma o altro codice Winsock esistente o si preferisce l'API Winsock, usarla.
Quando usare i socket
Entrambe le implementazioni di socket consentono di comunicare con altri dispositivi usando protocolli di propria scelta, usando TCP o UDP.
Scegliere l'API socket più adatta alle proprie esigenze in base all'esperienza e a qualsiasi codice esistente che si potrebbe usare.
Quando non usare i socket
- Non implementare uno stack HTTP(S) personalizzato usando i socket. Usare invece HttpClient.
- Se WebSockets (StreamWebSocket e Le classiMessageWebSocket) soddisfano le esigenze di comunicazione (TCP da/verso un server Web), è consigliabile usarle invece di dedicare tempo e risorse di sviluppo che implementano funzionalità simili con socket.
Websockets
Il protocollo WebSocket definisce un meccanismo per la comunicazione bidirezionale veloce e sicura tra un client e un server sul Web. I dati vengono trasferiti immediatamente tramite una connessione a socket singolo full-duplex, consentendo l'invio e la ricezione di messaggi da entrambi gli endpoint in tempo reale. I WebSockets sono ideali per l'uso nei giochi in tempo reale dove le notifiche istantanee del social network e le visualizzazioni di informazioni aggiornate (come le statistiche di gioco) devono essere sicure e utilizzare un rapido trasferimento dei dati. Gli sviluppatori UWP possono usare le classi StreamWebSocket e MessageWebSocket per connettersi ai server che supportano il protocollo Websocket.
Quando usare Websocket
- Quando si desidera inviare e ricevere dati su base continuativa tra un dispositivo e un server.
Quando non usare Websocket
- Se si inviano o si ricevono dati raramente, potrebbe risultare più semplice effettuare singole richieste HTTP dal dispositivo al server, anziché stabilire e gestire una connessione WebSocket.
- I WebSocket potrebbero non essere adatti per situazioni di volume molto elevato. Prendere in considerazione la modellazione dei flussi di dati e la simulazione del traffico tramite WebSocket prima di eseguirne l'uso nella progettazione.
HttpClient
Usare HttpClient e il resto dello spazio dei nomi API Windows.Web.Http quando si usa HTTP(S) per comunicare con un servizio Web o un server Web.
Quando usare HttpClient
- Quando si usa HTTP(S) per comunicare con i servizi Web.
- Durante il caricamento o il download di un numero ridotto di file più piccoli.
- Se WebSockets (StreamWebSocket e MessageWebSocket classi) soddisfano le esigenze di comunicazione (TCP a/da un server Web) e il server Web in questione supporta WebSocket, valutare la possibilità di usarli invece di dedicare tempo e risorse di sviluppo che implementano funzionalità simili con HttpClient.
- Quando si esegue lo streaming di contenuti in rete.
Quando non usare HttpClient
- Se si trasferiscono file di grandi dimensioni o un numero elevato di file, è consigliabile usare i trasferimenti in background.
- Se si vuole essere in grado di limitare i limiti di caricamento/download in base al tipo di connessione o se si desidera salvare lo stato di avanzamento e riprendere il caricamento/download dopo un'interruzione, è necessario usare i trasferimenti in background.
- Se si comunica tra due dispositivi e nessuno dei due è progettato per fungere da server HTTP(S), è consigliabile usare i socket. Non tentare di implementare il proprio server HTTP e usare HttpClient per comunicare con esso.
Trasferimenti in background
Usare l'API di trasferimento in background quando si vogliono trasferire in modo affidabile i file in rete. L'API di trasferimento in background fornisce funzionalità avanzate di caricamento e download eseguite in background durante la sospensione dell'app e persistono oltre la terminazione dell'app. L'API monitora lo stato della rete e sospende e riprende automaticamente i trasferimenti quando la connettività viene persa e i trasferimenti sono anche con riconoscimento del senso dati e del senso della batteria, il che significa che l'attività di download si adatta in base allo stato corrente della connettività e della batteria del dispositivo. Queste funzionalità sono essenziali quando l'app è in esecuzione su dispositivi mobili o a batteria. L'API è ideale per caricare e scaricare file di grandi dimensioni usando HTTP(S). FTP è supportato anche, ma solo per i download.
Una nuova funzionalità di trasferimento in background in Windows 10 è la possibilità di attivare la post-elaborazione al termine di un trasferimento di file, in modo da poter aggiornare i cataloghi locali, attivare altre app o notificare all'utente al termine di un download.
Quando usare i trasferimenti in background
- Usare i trasferimenti in background per trasferire in modo affidabile file di grandi dimensioni o un numero elevato di file.
- Usare i trasferimenti in background con i gruppi di completamento del trasferimento in background quando si desidera eseguire la post-elaborazione dei trasferimenti di file tramite un'attività in background.
- Usa i trasferimenti in background se vuoi essere in grado di riprendere un trasferimento in corso dopo un'interruzione della rete.
- Usa i trasferimenti in background se vuoi modificare il comportamento di trasferimento in base alle condizioni di rete, ad esempio in un piano dati a consumo.
Quando non usare i trasferimenti in background
- Se si trasferisce un numero ridotto di file di piccole dimensioni e non è necessario eseguire alcuna post-elaborazione al termine del trasferimento, è consigliabile usare HttpClient metodi PUT o POST.
- Se si desidera trasmettere i dati e usarli in locale man mano che arrivano, usare HttpClient.
Tecnologie aggiuntive correlate alla rete
Qualità della connessione
Le API nello spazio dei nomi Windows.Networking.Connectivity consentono di accedere alle informazioni di connettività, costo e utilizzo della rete. Per altre informazioni sull'uso di questa API, vedere Accesso allo stato della connessione di rete e gestione dei costi di rete.
Individuazione dei servizi DNS
Windows. Networking.ServiceDiscovery.Dnssd API consente di annunciare un servizio di rete ad altri dispositivi in rete usando il protocollo DNS-SD descritto in IETF RFC 2782.
Comunicazione tramite Bluetooth
Tra le altre cose, il Windows. Devices.Bluetooth API consente di usare Bluetooth per connettersi ad altri dispositivi e trasferire i dati. Per altre informazioni, vedere Inviare o ricevere file con RFCOMM.
Notifiche push (WNS)
Windows. Networking.PushNotifications API consente di usare Windows Notification Service (WNS) per ricevere notifiche push in rete. Per altre informazioni sull'uso di questa API, vedere Panoramica dei servizi di notifiche push di Windows
Comunicazioni di prossimità
Windows.Networking.Proximity consente di utilizzare le comunicazioni di prossimità per le app che interagiscono tramite vicinanza o contatto con dispositivi per facilitare un semplice trasferimento dei dati. Per altre informazioni sull'uso di questa API, vedere Prossimità e tocco.
Feed RSS/Atom
Windows.Web.Syndication API consente di gestire i feed usando i formati RSS e Atom. Per altre informazioni sull'uso di questa API, vedere Feed RSS/Atom.
Enumerazione e controllo della connessione Wi-Fi
Windows. Devices.WiFi API consente di enumerare schede Wi-Fi, analizzare le reti Wi-Fi disponibili e connettere una scheda a una rete.
Controllo radio
Windows. Devices.Radios API consente di trovare e controllare le radio nel dispositivo locale, tra cui Wi-Fi e Bluetooth.
Wi-Fi Direct
Windows. Devices.WiFiDirect API consente di connettersi e comunicare con altri dispositivi locali usando Wi-Fi Direct per creare reti wireless locali ad hoc.
servizi Wi-Fi Direct
Windows. L'API Devices.WiFiDirect.Services consente di fornire servizi Wi-Fi Direct e connettersi a essi. Wi-Fi Direct Services sono il modo in cui un dispositivo in un Wi-Fi rete ad hoc diretta (un inserzionista di servizi) offre funzionalità a un altro dispositivo (un Cercatore di servizi) tramite una connessione diretta Wi-Fi.
Operatori di telefonia mobile
Windows 10 espone a un ampio pubblico di sviluppatori alcune API che in precedenza sono state esposte solo ai produttori di dispositivi e agli operatori di telefonia mobile. Si noti che, anche se queste API sono esposte ora, vengono gestite anche da funzionalità di app specifiche che devono essere approvate da Microsoft prima che un'app possa essere pubblicata. L'uso effettivo di queste API sarà comunque limitato principalmente ai produttori di dispositivi e agli operatori di telefonia mobile.
Operazioni di rete
Windows. Networking.NetworkOperators API gestisce principalmente la configurazione e il provisioning dei telefoni. Di conseguenza, l'autorizzazione a usare le funzionalità che lo controllano sono limitati ai produttori di dispositivi e ai provider di telecomunicazioni.
SMS
Il Windows.Devices.Sms namespace gestisce SMS e messaggi correlati come entità di basso livello. Viene fornito per l'uso da parte degli operatori di telefonia mobile per l'uso degli SMS indirizzati all'app ed è controllato da una funzionalità che non verrà approvata per l'uso da parte della maggior parte degli sviluppatori di app. Se stai scrivendo un'app per gestire i messaggi, devi usare il Windows. ApplicationModel.Chat API, poiché è progettata per gestire non solo i messaggi SMS, ma anche i messaggi provenienti da altre origini, ad esempio le app di chat in tempo reale, consentendo un'esperienza di chat/messaggistica molto più completa.