L'objectif de cette activité est de créer une application client/serveur en Python en utilisant le module socket.

 

Principe d'une application client/serveur

Lorsque deux ordinateurs communiquent sur le réseau, il y a forcément un client et un serveur :

Pour joindre le serveur, le client a besoin de connaître l'adresse IP du serveur.

Si votre ordinateur est un ordinateur serveur, alors voici son adresse IP : 10.1.254.110, 216.73.216.75

L'ouverture sur le réseau se fait par l'intermédiaire d'un socket. Un socket peut être assimilé à une adresse IP associé à un port.

Une socket est une interface de communication introduite par les systèmes d'exploitation pour la communication réseau. Il s'agit d'un point d'accès aux services de la couche transport, c'est-à-dire TCP ou UDP.

Le socket fait donc la liaison entre la couche application (ici le programme en Python) et la couche transport (TCP ou UDP).

En Python, pour créer un socket afin de communiquer par le réseau on utilise le module socket.

 

Exemples de programmes en Python

Voici une version simple de programmes client/serveur en Python :

Programme client version 1
Programme serveur version 1

Autres exemples de programme réalisant une application client/serveur en Python :

Programme client version 2
Programme serveur version 2

Dans les deux cas l'adresse IP du serveur est l'adresse locale (localhost ou 127.0.0.1). Cela permet en un premier temps de tester les deux programmes sur le même ordinateur.

Pour réaliser une véritable communication par le réseau, il faut remplacer l'adresse locale du serveur (localhost ou 127.0.0.1) par sa véritable adresse IP sur le réseau.

Rappel : l'adresse IP de cet ordinateur est 10.1.254.110, 216.73.216.75

 

Conclusion

Vous savez maintenant réaliser une application client/serveur en utilisant le module socket de Python dans le but d'échanger des informations entre deux ordinateurs sur le réseau.

 

 

Réalisé par Jean-Christophe MICHEL

© Mars 2025