« Programmation Python/Programmer en deux minutes/une messagerie instantanée » : différence entre les versions

Contenu supprimé Contenu ajouté
mAucun résumé des modifications
mAucun résumé des modifications
Ligne 1 :
{{Programmation Python}}
__TOC__
 
== Écoute ==
<small>'''0.''' Pour programmer {{SUBPAGENAME}} [[Programmation Python/Programmer en deux minutes|en deux minutes]], nous allons écrire deux scripts en [[Python]] et les exécuter chacun dans une console. Les deux programmes vont communiquer afin d'envoyer un message et d'attendre la réponse.</small>
 
Ligne 7 ⟶ 9 :
<source lang=python>
import socket # importe un ensemble d'instructions pour connecter les programmes.
# Cet ensemble est disponible a l'installation de Python, dans la bibliothequebibliothèque de base.
# CreationCréation du connecteur d'ecouteécoute par l'instruction 'socket'
# de la bibliothequebibliothèque socket precedemmentprécédemment importeeimportée.
Connecteur = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
Hote = '127.0.0.1' # Adresse locale de l'ordinateur.
Port = 80 # Choix d'un port d'ecouteécoute.
Connecteur.bind((Hote,Port)) # instruction 'bind' de la bibliothequebibliothèque du connecteur
print "Le programme est a l'ecouteécoute d'une eventuelleéventuelle discussion, vous en serez averti." # Rajoutez des parenthèses pour Python 3 !
Connecteur.listen(1) # ecouteécoute...
client, adresse = Connecteur.accept() # accepte...
print "L'ordinateur",adresse," veut discuter ! J'attends son message." # Rajoutez des parenthèses pour Python 3 !
# CreationCréation du connecteur de reponseréponse
Reponse = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
Portreponse = 234
Reponse.connect((Hote,Portreponse ))
print "Note : je me suis connecte a",adresse," pour lui repondrerépondre" # Rajoutez des parenthèses pour Python 3 !
while 1:
Message = client.recv(255) # receptionréception de la reponseréponse, 255 caracterescaractères max ; Python 3 : Message = str(client.recv(255),'mac_roman')
if not Message:
break
print "\nMessage : ",Message,"\a" + "\n\nVotre reponseréponse :" # Rajoutez des parenthèses pour Python 3 !
msgR = raw_input('>> ') # votre message ? Python 3 : msgR = bytes(input('>> '), 'mac_roman')
Reponse.send(msgR) # envoi.
Ligne 40 ⟶ 42 :
...enregistrez ce script (par exemple <code>ecoute.py</code>) et exécutez-le.
 
== Discussion ==
 
'''2.''' Ouvrir l'éditeur de texte, écrire le script de discussion...
{{boîte déroulante début|titre=discussion.py}}
Ligne 54 ⟶ 56 :
Reponse.bind((Hote,Port_de_reponse))
Reponse.listen(1)
client, adresse = Reponse.accept() # CreationCréation du connecteur pour la reponseréponse de ecoute.py
print "L'adresse",adresse," vous a entendu et attend votre message." # Rajoutez des parenthèses pour Python 3 !
while 1:
msg = raw_input('>> ') # votre message ? Python 3 : msg = bytes(input('>> '), 'mac_roman')
Discuter.send(msg) # envoi.
print "Attente de la reponseréponse..." # Rajoutez des parenthèses pour Python 3 !
reponseaumessage = client.recv(255) # receptionréception de la reponseréponse, 255 caracterescaractères max ; Python 3 : reponseaumessage = str(client.recv(255),'mac_roman')
if not reponseaumessage:
break
print "\n",adresse,":",reponseaumessage,"\a\n" # affiche la reponseréponse # Rajoutez des parenthèses pour Python 3 !
client.close() # ferme la connexion lorsque le client quitte.
Ligne 70 ⟶ 72 :
...enregistrez ce script (par exemple <code>discussion.py</code>) et exécutez-le dans une nouvelle console.
 
== Voir aussi ==
 
'''Félicitation''', vos deux consoles communiquent !