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

Windows.Networking.Connectivity

Windows.Networking.Sockets

Exemples

Exemple DatagramSocket

Exemple StreamSocket