commit
626a1700ac
1 changed files with 42 additions and 0 deletions
@ -0,0 +1,42 @@ |
|||
# -*- 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() |
|||
Loading…
Reference in new issue