Retrouvez le sommaire des articles Python sur ce lien.
Les modules liés aux réseaux et aux sockets en Python 3 permettent de créer des connexions réseau, d’envoyer et de recevoir des données, et de travailler avec des protocoles de communication tels que TCP et UDP. Voici un aperçu de deux des modules les plus couramment utilisés :
- socket: Ce module fournit des fonctions pour créer et gérer des connexions réseau en utilisant des sockets. Voici un exemple d’utilisation du module socket pour créer une connexion TCP avec un serveur distant :
import socket HOST = 'www.google.com' PORT = 80 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) s.sendall(b'GET / HTTP/1.1\r\nHost: www.google.com\r\n\r\n') data = s.recv(1024) print(data.decode())
Dans cet exemple, nous avons utilisé socket.AF_INET pour spécifier l’utilisation de l’adresse IP et socket.SOCK_STREAM pour spécifier le protocole de transport TCP. Nous avons ensuite établi une connexion avec le serveur en utilisant la méthode connect() et envoyé une requête HTTP GET. Nous avons finalement reçu les données de réponse et les avons affichées.
- socketserver: Ce module fournit des classes pour la création de serveurs TCP et UDP. Voici un exemple d’utilisation du module socketserver pour créer un serveur TCP simple :
mport socketserver class MonHandler(socketserver.BaseRequestHandler): def handle(self): self.data = self.request.recv(1024).strip() print("{} a envoyé :".format(self.client_address[0])) print(self.data) self.request.sendall(self.data.upper()) with socketserver.TCPServer(('localhost', 9999), MonHandler) as server: server.serve_forever()MonHandler) as server: server.serve_forever()
Dans cet exemple, nous avons créé une classe MonHandler qui hérite de la classe BaseRequestHandler. Nous avons implémenté la méthode handle() pour recevoir les données du client, les afficher et leur envoyer une réponse en majuscules. Nous avons ensuite créé une instance de TCPServer en spécifiant l’adresse IP et le port sur lesquels écouter, ainsi que la classe de gestionnaire de requêtes à utiliser. Enfin, nous avons appelé la méthode serve_forever() pour démarrer le serveur en boucle.
Ces modules offrent une grande variété de fonctions et d’outils pour les réseaux et les sockets en Python 3, permettant aux utilisateurs de créer des connexions réseau et de travailler avec des protocoles de communication.