# -*- coding: utf-8 -*- import socket IP_SERVEUR = '127.0.0.1' PORT = 42000 class Connexion(): def __init__(self, sens): """Si `sens` == "serveur" ouvre une connexion côté serveur, sinon ouvre une connexion côté client.""" mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) if sens == "serveur": mySocket.bind((IP_SERVEUR, PORT)) print(f"Serveur({IP_SERVEUR}:{PORT}) prêt. Attend un client...") mySocket.listen() self.connexion, adresse = mySocket.accept() print(f"Connecté avec le client({adresse}).") else: print(f"Connexion au serveur({IP_SERVEUR}:{PORT})...") mySocket.connect((IP_SERVEUR, PORT)) print("Connexion établie avec le serveur") self.connexion = mySocket def send(self, message): """Envoie le message, et l'affiche.""" print(f"Envoi de <{message}>.") self.connexion.send(message) def recv(self): """Reçoit un message d'au plus 1024 octets, l'affiche et le renvoie. Attention, la réception est bloquante : tant qu'il n'y a pas de message à recevoir, le programme attend.""" message = self.connexion.recv(1024) print(f"Reçu <{message}>.") return message def close(self): """Ferme la connexion.""" print("Fermeture de la connexion.") self.connexion.close()