Connexion à l’aide de sockets (HTML)
[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]
Envoyez et recevez des données à l’aide des sockets TCP ou UDP dans votre application du Windows Store en utilisant des fonctionnalités dans l’espace de noms Windows.Networking.Sockets.
Les sockets fournissent une interface de bas niveau pour l’envoi et la réception des données réseau. Les classes principales suivantes peuvent être utilisées avec des sockets :
- DatagramSocket - Permet de prendre en charge la communication réseau à l’aide d’un socket datagramme UDP.
- StreamSocket - Permet de prendre en charge la communication réseau à l’aide d’un socket de flux TCP.
- StreamSocketListener - Permet de prendre en charge l’écoute d’une connexion réseau entrante à l’aide d’un socket de flux TCP.
Ces classes principales sont également associées à différentes classes de support dans l’espace de noms Windows.Networking.Sockets utilisé avec ces classes.
Audience de développeurs
S’adresse aux développeurs JavaScript/C#/VB.NET/C++ qui souhaitent offrir la possibilité d’utiliser des sockets pour les communications réseau dans leur application Windows Runtime. Cette fonctionnalité inclut des sockets TCP et UDP, y compris la multidiffusion UDP, pour permettre aux développeurs d’implémenter d’autres protocoles réseau de couche supérieure. Les sockets TCP et UDP peuvent être utilisés par une application pour établir des connexions clientes, écouter les connexions et fonctionner en tant que serveur ou à la fois pour les opérations client et serveur.
Choisissez les protocoles à utiliser en fonction des exigences de votre application.
Si votre application | Utilisez |
---|---|
Se connecte à un service réseau qui utilise un protocole existant (SMTP, POP, IMAP, ou MAPI pour le courrier par exemple) qui n’est pas directement pris en charge par d’autres fonctionnalités réseau |
Sockets TCP ou UDP |
Se connecte à un autre ordinateur sur le même réseau local |
Sockets TCP ou UDP |
Requiert un protocole simple de demande/réponse qui puisse communiquer via des proxys HTTP |
API REST (Representational State Transfer) disponibles dans les langages C#, VB.NET et C++ |
Requiert une sémantique identique aux sockets (transferts asynchrones, bidirectionnels) pour se connecter sur le Web, y compris via des proxies HTTP |
WebSockets |
Les sockets sont pris en charge par les classes des espaces de noms Windows.Networking.Sockets et Windows.Networking.
Windows 8 présente également un nouveau type de socket, un WebSocket. Pour plus d’informations, voir Connexion à l’aide de sockets WebSocket, ainsi que les classes MessageWebSocket et StreamWebSocket.
Dans cette section
Rubrique | Description |
---|---|
Comment établir une connexion à l’aide d’un socket de flux | Découvrez comment établir une connexion à une ressource réseau avec un socket de flux en utilisant TCP pour l’envoi et la réception de données. |
Comment établir une connexion à l’aide d’un socket datagramme | Découvrez comment établir une connexion à une ressource réseau avec un socket datagramme en utilisant UDP pour l’envoi et la réception de données. |
Comment utiliser des contrôles de socket avancés | Découvrez comment utiliser des contrôles de socket avancés lorsqu’un DatagramSocket, un StreamSocket ou un StreamSocketListener est utilisé. |
Comment sécuriser des connexions de socket avec TLS/SSL | Découvrez comment sécuriser des connexions de socket avec TLS/SSL lorsqu’un StreamSocket est utilisé. |
Comment définir des délais d’attente sur les opérations de socket | Découvrez comment définir des délais d’attente sur les opérations de socket réseau pour limiter la durée pendant laquelle il convient d’attendre qu’une opération se termine. |
Utilisation de sockets avec l’isolement réseau
La fonctionnalité d’isolement réseau de Windows 8.1, Windows Phone 8.1 et Windows Server 2012 R2 permet à un développeur de contrôler et de limiter l’accès réseau par une application Windows Runtime. Toutes les applications n’ont pas besoin d’un accès au réseau. Néanmoins, pour celles qui en ont besoin, Windows 8.1 et Windows Server 2012 R2 proposent différents niveaux d’accès au réseau qui peuvent être activés en sélectionnant les fonctionnalités appropriées.
L’isolement réseau permet à un développeur de définir pour chaque application la portée de l’accès réseau requis. Une application pour laquelle la portée appropriée ne serait pas définie ne peut pas accéder au type de réseau spécifié et au type spécifique de demande réseau (demandes sortantes à l’initiative du client ou à la fois demandes entrantes non sollicitées et demandes sortantes à l’initiative du client). La possibilité de définir et de mettre en œuvre l’isolement réseau garantit que si une application est compromise, elle ne pourra accéder qu’aux réseaux pour lesquels l’accès aura été expressément accordé à l’application. Cela réduit de façon significative la portée de l’impact sur d’autres applications et sur Windows.
L’isolement réseau affecte tous les éléments de classe de l’espace de noms Windows.Networking.Sockets et des espaces de noms associés qui essaient d’accéder au réseau. Windows applique activement l’isolement réseau. Un appel à un élément de classe dans l’espace de noms Windows.Networking.Sockets qui conduit à un accès réseau peut échouer en raison de l’isolement réseau si la fonctionnalité réseau appropriée n’a pas été activée.
Les fonctionnalités réseau d’une application sont configurées dans le manifeste de l’application à la création de cette dernière. Les fonctionnalités réseau sont généralement ajoutées à l’aide de Microsoft Visual Studio 2013 lors du développement de l’application. Elles peuvent également être définies manuellement dans le fichier manifeste de l’application à l’aide d’un éditeur de texte.
Pour plus d’informations sur l’isolement réseau, voir Comment configurer les fonctionnalités d’isolement réseau.
Rubriques associées
Autres ressources
Ajout d’une prise en charge de réseau
Connexion à l’aide de sockets WebSocket
Comment configurer les fonctionnalités d’isolement réseau
Comment définir les options de connectivité en arrière-plan
Débogage et résolution des problèmes liés aux connexions réseau
Référence
Windows.Networking.Connectivity
Exemples