Bonjour, je voudrais faire un dialogue client/serveur en Python mais je ne m'en sort vrément pas.
Code du serveur :
# -*- coding: cp1252 -*-
ip=raw_input("Entrez votre addresse ip : ")
p=int(raw_input("Port : "))
import socket
serveur=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
serveur.bind((ip,p))
serveur.listen(2)
while 1:
____tube, addr =serveur.accept()
____print "Connecté à :",addr
____while 1:
________data=tube.recv(1024)
________L=data.split('@')
________if(L[1]=='exit'):
____________print "\n",L[0],"s'est déconecter\n"
____________break
________else:
____________print '\n--',L[0],':\n\t',L[1],'\n'
________tube.send("serveur@"+raw_input("Message >>> "))
code du client:
ip=raw_input("Entrez l'ip de connexion : ")
import socket
client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
p=int(raw_input("port : "))
pseudo=raw_input("Entrez votre pseudo : ")
client.connect((ip,p))
while 1:
____texte=raw_input("Message >>> ")
____mess=pseudo+'@'+texte
____client.send(mess)
____if texte=="exit":
________break
____L=client.recv(1024).split('@')
____print "\n--",L[0],":\n\t",L[1],"\n"
Le problème c'est qu'ils peuvent parler chacun leur tour mais pas deux fois de suite ou pas en même temps.
En gros il faudrais pouvoir écouter le port en même temps de pouvoir envoyer un message ...
Configuration: Windows XP
Firefox 2.0.0.4