Programmation réseau dans .NET
.NET fournit une implémentation en couches, extensible et managée de services Internet qui peuvent être rapidement et facilement intégrés à vos applications. Vos applications réseau peuvent s’appuyer sur des protocoles enfichables pour tirer automatiquement parti de différents protocoles Internet, ou utiliser une implémentation managée d’interfaces de socket multiplateformes pour travailler avec le réseau au niveau du socket.
Les applications Internet
Les applications Internet peuvent être classées en deux types : les applications clientes qui demandent des informations et des applications serveur qui répondent aux demandes d’informations des clients. L’application client-serveur Internet classique est le World Wide Web, où les utilisateurs utilisent des navigateurs pour accéder aux documents et à d’autres données stockées sur des serveurs web dans le monde entier.
Les applications ne sont pas limitées à l’un de ces rôles ; par exemple, le serveur d’applications de niveau intermédiaire familier répond aux demandes des clients en demandant des données d’un autre serveur, auquel cas il agit à la fois comme un serveur et un client.
L’application cliente demande en identifiant la ressource Internet demandée et le protocole de communication à utiliser pour la demande et la réponse. Si nécessaire, le client fournit également des données supplémentaires requises pour terminer la demande, telles que l’emplacement du proxy ou les informations d’authentification (nom d’utilisateur, mot de passe, etc.). Une fois la requête formée, la requête peut être envoyée au serveur.
Identification des ressources
.NET utilise un URI (Uniform Resource Identifier) pour identifier la ressource Internet et le protocole de communication demandés. L’URI se compose d’au moins trois fragments, et éventuellement quatre fragments : l’identificateur de schéma, qui identifie le protocole de communication pour la demande et la réponse ; l’identificateur de serveur, qui se compose d’un nom d’hôte DNS (Domain Name System) ou d’une adresse TCP qui identifie de manière unique le serveur sur Internet ; l’identificateur de chemin d’accès, qui localise les informations demandées sur le serveur ; et une chaîne de requête facultative, qui transmet des informations du client au serveur.
Le type System.Uri est utilisé comme représentation d’un URI (Uniform Resource Identifier) et un accès facile aux parties de l’URI. Pour créer une instance de Uri
, vous pouvez lui passer une chaîne.
const string uriString =
"https://learn.microsoft.com/en-us/dotnet/path?key=value#bookmark";
Uri canonicalUri = new(uriString);
Console.WriteLine(canonicalUri.Host);
Console.WriteLine(canonicalUri.PathAndQuery);
Console.WriteLine(canonicalUri.Fragment);
// Sample output:
// learn.microsoft.com
// /en-us/dotnet/path?key=value
// #bookmark
La classe Uri
effectue automatiquement la validation et la canonisation par RFC 3986. Ces règles de validation et de canonisation sont utilisées pour s’assurer qu’un URI est bien formé et que l’URI se trouve sous une forme canonique.
Voir aussi
- Options de configuration de la mise en réseau au moment de l'exécution
- Support HTTP dans .NET
- Sockets en .NET
- TCP dans .NET
- Tutoriel : Effectuer des requêtes HTTP dans une application console .NET à l’aide de C#
- Mise en réseau de la télémétrie en .NET
- améliorations apportées à la mise en réseau .NET