bonjour,
je suis en train d'essayer de programmer un chat en python, principalement dans le but d'apprendre l'utilisation des sockets et de la communication entre différend ordinateur. pour l'instant, donc, mon but et de faire un système de chat rudimentaire gérer avec des threads. J'ai utilisé le livre de
Gérard Swinnen avec ses exemple de client/serveur géré par des Threads.
Mon problemme, le voici :

avec le code ci-dessous, il me dit bien "connections établie" mais aprés plus rien ne se passe. la fonction raw_input() n'est même pas appelé:
Code Python :
import socket, sys
from threading import Thread
PORT = 139 # changer le port
HOST = "192.168.0.10" # changer l'adresse, avec votre adresse locale
class ThServeur(Thread):
""" Thread qui va gerer le serveur"""
def __init__(self, contact):
Thread.__init__(self)
self.s = contact
def run(self):
print "ThreadServeur en fonction"
try:
self.s.bind(("", PORT))
except:
print "connection impossible"
sys.exit()
print "connection etablie"
self.s.listen(2)
while 1:
self.s.accept()
self.s.send("vous ete connecte avec le client")
while 1:
EmsgS = raw_input("S> ")
self.s.send(EmsgS)
RmsgC = self.s.recv(1024)
print RmsgC
class ThClient(Thread):
""" Thread qui va gerer le Client"""
def __init__(self, contact):
Thread.__init__(self)
self.s = contact
def run(self):
print "ThreadClient en fonction"
try:
self.s.connect((HOST, PORT))
except:
print "connection impossible"
sys.exit()
print "connection etablie"
while 1:
EmsgC = raw_input("C> ")
self.s.send(EmsgC)
RmsgS = self.s.recv(1024)
print RmsgS
Soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # définition du socket
Th_S = ThServeur(Soc)
Th_C = ThClient(Soc)
Th_S.start()
Th_C.start()
Le hic, c'est que même le code de
Gérard Swinnen ne marche pas cher moi en local : (voir page 292 sur le livre format pdf)