⚲
Projet
Général
Profil
Connexion
Accueil
Projets
Aide
Recherche
:
Les tutoriels du père JM
Tous les projets
Les tutoriels du père JM
Aperçu
Activité
Annonces
Documents
Wiki
Télécharger (1,37 ko)
comSock
» comSockCli.py
Jean-Michel Bain-Cornu
, 21/04/2019 22:26
# module standard python de gestion des communications
import
socket
# module d'encodage des objets python
import
pickle
class
ComSockCli
():
'''Classe de base de gestion des communications, côté client.
Encode les données, les envoie au serveur, récupère les résultats, et les décode.
Pour l'utilisation, dériver cette classe et utiliser la méthode "envoi"
(voir le programme exemple client.py).'''
def
__init__
(
self
,
host
):
'''Méthode appelée lors de la création de l'objet.
Ne fait que mémoriser le nom du serveur.'''
self
.
host
=
host
def
envoi
(
self
,
data
):
'''Envoie un objet python au serveur et récupère un objet en résultat.'''
# le port IP est au choix ; il doit être identique à celui du serveur
port
=
8000
# créee socket IP
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
# réalise la connection au serveur. Le nom a été mémorisé à l'init de l'objet.
s
.
connect
((
self
.
host
,
port
))
# encode l'objet à transmettre
msg
=
pickle
.
dumps
(
data
)
# envoie le buffer encodé
s
.
send
(
msg
)
# attend le buffer contenant l'objet résultant
rep
=
s
.
recv
(
1024
)
# ferme la communication
s
.
close
()
# décode
reponse
=
pickle
.
loads
(
rep
)
# retourne l'objet résultant
return
reponse
« Précédent
1
2
3
4
Suivant »
(3-3/4)
Chargement...