Site icon La programmation sur le web

Python, les modules pour les réseaux et les sockets

Python 3 offre des modules puissants pour créer des connexions réseau, envoyer et recevoir des données, et travailler avec des protocoles tels que TCP et UDP, tels que les modules socket et socketserver.

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 :

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.

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.

Quitter la version mobile