Bonjour à tous! Je vous remercie déjà de passer sur ce topic et de le lire.
Je suis en dernière année de lycée en sciences informatiques à Saint Jean Berchmans (là ou à enseigné Gérard Swinnen).
Et j'ai un TFE en programmation à réaliser, mon prof est au courant que je demande de l'aide sur les forums, car il ne saurait pas trop m'aider car les Threads il ne connait pas trop O_O, disons que je suis un peu mal pour mon tfe.

J'ai pris le chat multi thread du livre Python de Gérard Swinnen et j'aimerais y insérer un mini cryptage, mais je n'arrive pas à transmettre la variable cryptée au thread de réception!

Voilà le client du chat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/env python
#-*-coding:Utf-8-*-
 
# Définition d'un client réseau gérant en parallèle l'émission
# et la réception des messages (utilisation de 2 THREADS).
ip = raw_input("Entrez le numéro du pc serveur : ")
HOST = "192.168.0.%s" % (ip)
port = 40000
import socket, sys, threading
# Classe permettant la gestion du thread s'occupant de la réception du message.
class ThreadReception(threading.Thread):
	"""objet thread gérant la réception des messages"""
	def __init__(self, conn):
		threading.Thread.__init__(self)
		self.connexion = conn            # réf. du socket de connexion
	def run(self):
		while 1:
			message_recu = self.connexion.recv(1024)
			print "'" + message_recu + "'"
			if message_recu =='' or message_recu.upper() == "FIN":
				break
		# Le thread <réception> se termine ici.
		# On force la fermeture du thread <émission> :
		th_E._Thread__stop()
		print "Client arrêté. Connexion interrompue."
		self.connexion.close()
# Classe permettant la gestion du thread s'occupant de l'émission du message.
class ThreadEmission(threading.Thread):
	"""objet thread gérant l'émission des messages"""
	def __init__(self, conn):
		threading.Thread.__init__(self)
		self.connexion = conn           
		# réf. du socket de connexion
	def run(self):
		while 1:
			message_emis = raw_input()
			self.connexion.send(message_emis)
# Établissement de la connexion :
connexion = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
	connexion.connect((host, port))
except socket.error:
	print "La connexion a échoué."
	sys.exit()
print "Connexion établie avec le serveur BlackWater."
# Dialogue avec le serveur : on lance deux threads pour gérer
# indépendamment l'émission et la réception des messages :
th_E = ThreadEmission(connexion)
th_R = ThreadReception(connexion)
th_E.start()
th_R.start()
Et voici le mini cryptage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
chaine = raw_input("Donner la chaine à crypter : ")
dec = 26
crypt = ""
decrypt = ""
 
cpt = 0
while cpt < len(chaine):
    crypt += chr(ord(chaine[cpt]) + dec)
    cpt += 1
 
cpt2 = 0
while cpt2 < len(crypt):
	decrypt += chr(ord(crypt[cpt2]) - dec)
	cpt2 +=1
 
print "La chaine '%s' cryptée : '%s'." % (chaine, crypt)
print "La chaine cryptée : '%s', une fois décryptée donne : '%s'." % (crypt, decrypt)
Une personne m'avait conseillé d'utiliser code() et decode(), mais je n'ai pas compris comment l'utiliser (et on a regardé avec mon prof cela, ne fonctionnait pas.)

Merci de votre aide!