Sockets
Python offre deux niveaux d'accès aux services réseau. À un niveau inférieur, vous pouvez accéder à la prise en charge de base des sockets dans le système d'exploitation sous-jacent, ce qui vous permet d'implémenter des clients et des serveurs pour les protocoles orientés connexion et sans connexion.
Python dispose également de bibliothèques qui fournissent un accès de plus haut niveau à des protocoles réseau spécifiques au niveau des applications, tels que FTP, HTTP, etc.
Ce chapitre vous permet de comprendre le concept le plus célèbre de la mise en réseau - la programmation des sockets.
Qu'est-ce que les Sockets ?
Les sockets sont les points d'extrémité d'un canal de communication bidirectionnel. Les sockets peuvent communiquer au sein d'un processus, entre des processus sur la même machine, ou entre des processus sur différents continents.
Les sockets peuvent être implémentés sur un certain nombre de types de canaux différents : sockets de domaine Unix, TCP, UDP, etc. La bibliothèque de sockets fournit des classes spécifiques pour gérer les transports courants ainsi qu'une interface générique pour gérer les autres.
Les sockets ont leur propre vocabulaire :
domain
: La famille de protocoles qui est utilisée comme mécanisme de transport. Ces valeurs sont des constantes telles que AF_INET, PF_INET, PF_UNIX, PF_X25, et ainsi de suite.type
: Le type de communication entre les deux points d'extrémité, typiquement SOCK_STREAM pour les protocoles orientés connexion et SOCK_DGRAM pour les protocoles sans connexion.protocol
: Généralement zéro, ceci peut être utilisé pour identifier une variante d'un protocole dans un domaine et un type.hostname
: L'identifiant d'une interface réseau :- Une chaîne, qui peut être un nom d'hôte, une adresse en quart de point ou une adresse IPV6 en notation deux points (et éventuellement point).
- Une chaîne
<broadcast>
, qui spécifie une adresse INADDR_BROADCAST. - Une chaîne de longueur zéro, qui spécifie INADDR_ANY.
- Un nombre entier, interprété comme une adresse binaire dans l'ordre des octets de l'hôte.
port
: Chaque serveur écoute les clients qui l'appellent sur un ou plusieurs ports. Un port peut être un numéro de port Fixnum, une chaîne contenant un numéro de port, ou le nom d'un service.
Le module socket
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !