Informatique - Forum informatique - telechargement gratuit

 CONTACT 
Gsiteg(à)gmail.com
Renplacer (à) par @



 FAQFAQ   RechercherRechercher   S'enregistrerS'enregistrer   ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 


threads sur python

 
Poster un nouveau sujet   Répondre au sujet    GsiteG Index du Forum -> Programmation & développement
Auteur Message
mcherkao88



Inscrit le: 15 Jan 2010
Messages: 3

MessagePosté le: Ven Jan 15, 2010 4:21 pm    Sujet du message: threads sur python Répondre en citant

Bonjour,
Je vient de faire un programme de chat entre PC et SERVEUR sous Python.J'ai réalisé l'a-synchronisme via les Threads.
Mon problème est que je ne peut visualisée les donnée envoyées par le client au serveur qu'après faire une émission du serveur au client. Et si j'élimine par exemple le thread d'émission du serveur, alors là l'affichage du message reçu par le serveur est immédiat. Si quelqu'un pourrait me donner un coup de main, je lui serai reconnaissant.
Voilà ci joint mon programme:

*****************************CLIENT*************************­*******************

host = "00:24:7E:D6:C5:9A"
port = 3

import socket, sys, threading, time
from bluetooth import *

class ThreadReception(threading.Thread):
def __init__(self, conn):
threading.Thread.__init__(self)
self.connexion = conn

def run(self):
while 1:
message_recu = self.connexion.recv(1024)
print "*" + message_recu + "*"
if message_recu.upper() == "FIN":
break
time.sleep(0.001)

class ThreadEmission(threading.Thread):
def __init__(self, conn):
threading.Thread.__init__(self)
self.connexion = conn

def run(self):
while 1:
message_emis = raw_input()
self.connexion.send(message_emis)
time.sleep(0.001)

# Programme principal - Établissement de la connexion :
connexion = BluetoothSocket( RFCOMM )
try:
connexion.connect((host, port))
except socket.error:
print "La connexion a échoué."
sys.exit()
print "Connexion établie avec le serveur."

# 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()
th_E.join()
th_R.join()
connexion.close()
******************************SERVEUR***************************************

from bluetooth import *
import socket, sys, threading,time

port = 3

class ThreadReception(threading.Thread):
def __init__(self, conn):
threading.Thread.__init__(self)
self.connexion = conn

def run(self):
while 1:
try:
message_recu = self.connexion.recv(1024)
print "*" + message_recu + "*"
if message_recu.upper() == "FIN":
break
except:pass
time.sleep(0.001)


class ThreadEmission(threading.Thread):
def __init__(self, conn):
threading.Thread.__init__(self)
self.connexion = conn

def run(self):
while 1:
message_emis = raw_input()
try:
self.connexion.send(message_emis)
if message_emis.upper() == "FIN":
break
except:pass
time.sleep(0.001)

# Programme principal - Établissement de la connexion :

server_sock = BluetoothSocket( RFCOMM )
server_sock . bind(( "", 3))
server_sock . listen(2)

connexion , client_info = server_sock . accept( )
print "Accepted connection from " , client_info

# Dialogue avec le client : on lance deux threads pour gérer
# indépendamment l'émission et la réception des messages :

th_R = ThreadReception(connexion)
th_E = ThreadEmission(connexion)
th_E.start()
th_R.start()
th_R.join()
th_E.join()

connexion.close()
server_sock.close()
Voir le profil de l'utilisateur Envoyer un message privé


Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    GsiteG Index du Forum -> Programmation & développement Toutes les heures sont au format GMT
Page 1 sur 1

 
Sauter vers:  

discussions similaires
threads en chat sur Python


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com

phpBB SEO


Articles OuedZem | Gagner de l'argent | Webdesigner | Forum informatique | Sapeurs-pompiers

Copyright © 2007 www.GsiteG.com - Tous droits réservés