Bonjour,
C'est le code d'un serveur python. Je veux que lorsque le client envoie une cmd le serveur lui repond le contenue de la case suivante à la case de la liste convenable à sa demande.
Le probleme est que à la 2eme classe de ce code la liste n'est pas identifier de telle sorte qu'à chaque fois que le client envoie sa demande le message envoyé est tjs "cmd erronnee"
aidez moi SVP à trouver la solution.
Merci
from socket import *
import socket, sys, threading
import SocketServer
import time
import locale
class tel():
print "recopier un fichier en eliminant les lignes de remarques"
fs = open("benj.txt","r")
l=[]
for ligne in file("benj.txt"):
i=0
c1=""
c2=""
while i<len(ligne) and ligne[i]!="#":
c1=c1+ligne[i]
i=i+1
i=i+1
while i<(len(ligne)):
c2=c2+ligne[i]
i=i+1
l.append(c1)
l.append(c2.strip())
fs.close()
print l
class GestionnaireEcho(SocketServer.BaseRequestHandler):
def handle(self):
locale.setlocale(locale.LC_ALL,'')
c= time.strftime('%A %c')
print "Connexion de ", self.client_address,c
while True:
donneesRecues = self.request.recv(8192)
t=time.strftime("%H:%M:%S")
print "\n C ",t, "> ", donneesRecues
dr=str(donneesRecues)
try:
ind=l.index(dr)
print ind
msg= str(l[ind+1])
except:
msg="commande erronee"
self.request.send(msg)
print "Deconnexion de ", self.client_address
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tel()
try:
serveur = SocketServer.ThreadingTCPServer(('127.0.0.1',84), GestionnaireEcho)
except socket.error:
print "La liaison du socket a l'adresse choisie a echoue."
sys.exit()
print "En attente..!!!!"
serveur.serve_forever()