begin process at 2010 03 14 05:32:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Divers

 > 

Débutant(e)

 > 

msn client/serveur python


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

msn client/serveur python

mardi 18 mars 2008 à 11:46:45 | msn client/serveur python

tsic

Bonjour,
je suis bloqué ilya preque 2 semaines dans le code suivant. je veut que le client et le serveur envoyent leurs message d'une maniere comme msn. je crois qu'ilya quelque chose à ajouter dans les boucles.

d'abord code serveur:

from socket import *
import socket, sys, threading


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

def run(self):

nom = self.getName()
while 1:
msgServeur = raw_input("S> ")
connexion.send(msgServeur)
msgClient = self.connexion.recv(1024)
if msgClient.upper() == "FIN" or msgClient =="":
break
message = "%s> %s" % (nom, msgClient)
print message



for cle in conn_client:
if cle != nom:
conn_client[cle].send(message)

self.connexion.close()
del conn_client[nom]
print "Client %s deconnecte." % nom
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
mySocket.bind(('127.0.0.1', 84))
except socket.error:
print "La liaison du socket a l'adresse choisie a echoue."
sys.exit()
print "Stand by!!!!"
mySocket.listen(5)
conn_client = {}
while 1:
connexion, adresse = mySocket.accept()
th = ThreadClient(connexion)
th.start()
it = th.getName()
conn_client[it] = connexion
print "Client %s connecte, adresse IP %s, port %s." %\
(it, adresse[0], adresse[1])
connexion.send("Vous etes connecte. Envoyez vos messages.")

code client.


# Definition d"un client reseau gerant en parallele l'emission
# et la reception des messages (utilisation de 2 THREADS).

host = '127.0.0.1'
port = 84

import socket, sys, threading

class ThreadReception(threading.Thread):
"""objet thread gerant la reception des messages"""
def __init__(self, conn):
threading.Thread.__init__(self)
self.connexion = conn # ref. du socket de connexion

def run(self):
while 1:
message_recu = self.connexion.recv(1024)
print "*" + message_recu + "*"

print "Client arrete. Connexion interrompue."
self.connexion.close()

class ThreadEmission(threading.Thread):
"""objet thread gerant l'emission des messages"""
def __init__(self, conn):
threading.Thread.__init__(self)
self.connexion = conn # ref. du socket de connexion

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

# Programme principal - etablissement de la connexion :
connexion = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
connexion.connect((host, port))
except socket.error:
print "La connexion a echoue."
sys.exit()
print "Connexion etablie avec le serveur."

# Dialogue avec le serveur : on lance deux threads pour gerer
# independamment l'emission et la reception des messages :
th_E = ThreadEmission(connexion)
th_R = ThreadReception(connexion)
th_E.start()
th_R.start()


please help me


Cette discussion est classée dans : connexion, client, self, socket, conn


Répondre à ce message

Sujets en rapport avec ce message

Client Serveur Netstat [ par power211 ] Bonjour à tous, je suis un ptit nouveau ds le monde du python, projet d ecole oblige mais c vrai que  le python c rapide comme langage.Bon treve de pl Socket+timeout [ par power211 ] Re Bonjour tout lemonde,bon voila j aurai une ptite question sur les sockets plus les timeout.Donc je vais directement aller au but avec un exemple co Socket et Threading [ par dabcorp ] Bonjour , J'ai fait un client/serveur socket , mais je me comprend pas les threads ... Je suis obligé de faire une boucle pour relance le programme à TWISTED : Transfert de fichier [ par chmod666 ] Bonjour,je viens enfin de trouver ce qu'il me faut aprés bcps bcps de recherche il faut le dire ... Situation:J'ai un client qui envoie un fichierJ' Perl to Python [ par mike1310 ] Bonjour,je ne savais pas trop ou poster mon message étant donné qu'il n'y a pas de codes sources pour Perl.J'ai en fait un code en Perl que je dois re connexion python [ par tsic ] Bonjour, Voilà, j'ai débuté recemment avec python et je veux faire une connexion client serveur (windows) par l'intermédiaire d'une interface QT Desig connexion client/serveur sous linux [ par tsic ] Bonjour,SVP aidez moi à trouver le code du serveur de connexion.j'ai déjà testé celui de windows et ça a marché. Mais mon encadreur demande un serveur wxBoxSizer [ par Vonscott ] Salut à tous,Ceci est mon tout premier POST sur le forum ( mais certainement pas le dernier )Jusque la, je travaillais sous PHP/MySQL et j'ai voulu dé [QT4][python]probleme menu bouton [ par tsic ] salut,Mon interface client a un menu et un boutton (au debut non actif) .à la connexion j'ai ajouter la ligne suivante:"self.ui.bouton_env.setEnabled( Récupérer la valeur choisie dans une liste déroulante [ par amaury74 ] Bonjours à tous,Ma question peu paraitre bête mais je n'ai pas trouvé de réponse claire.Voila: j'ai programmé une interface graphique avec wx.Python.


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales