Le but de cet exercice d'approfondissement est de faire communiquer les utilisateurs de deux ordinateurs sur un même réseau local.
On utilise pour cela la bibliothèque Python Socket.
Python : Module socket
-
Utiliser ce petit script permettant d'envoyer du texte sur une machine serveur.
- Lancer le script server.py sur la machine serveur ;
- Les clients utilisent le script client.
Dans les deux cas, il faudra adapter les scripts aux IP au réseau. Par défaut, les scripts fonctionnent sur la boucle locale 127.0.0.0:8000
d'une même machine.
-
Adapter le script pour envoyer des fichiers (images, etc...).
import socket
HOST = "127.0.0.1"
PORT = 8000
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen()
client, addr = s.accept()
with client:
print(f"Connected by {addr[0]}")
while True:
data = client.recv(1024)
if data :
print(data.decode())
import socket
HOST = "127.0.0.1"
PORT = 8000
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
print(f"Connection on {HOST}:{PORT}")
encore = ""
while encore.upper() != "N" :
message = input("Message à envoyer : ").encode()
s.send(message)
encore = input("Continuer ? (N:stop) ")