djmacou | J'ai un petit problème,
Je suis en train d'essayer de développer un petit serveur en Python. (je débute en python)
Le programme client est un prog fait en eVB (Visual basic pour faire des appli PocketPC)
Le programme client sur le pocket PC doit envoyer une chaine de caractères qui sera recu par le serveur.
Jusque là rien de bien complexe.
Le resultat n'est pas du tout le même en fonction que le serveur tourne sous Linux ou sous Windows
Si la chaine envoyé est "bonjour" voilà ce que recoit le serveur:
Sous Windows:
> bonjour
mais sous Linux:
> b
> o
> n
> j
> o
> u
> r
C'est moi qui boit ou quoi? C'est comme si sous linux il découpait le paquet octet par octet....
Je comprend rien
pour info voici le code du serveur
Code :
- HOST = '192.168.1.48'
- PORT = 8881
- 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:
- msgClient = self.connexion.recv(1024)
- if msgClient.upper() == "FIN" or msgClient =="":
- break
- message = "%s> %s" % (nom, msgClient)
- print message
- self.connexion.close()
- del conn_client[nom]
- print "Client %s deconecte." % nom
- mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- try:
- mySocket.bind((HOST, PORT))
- except socket.error:
- print "oupsss"
- sys.exit()
- print "Serveur pret, en ecoute ...."
- 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("Connecte." )
|
|