[Sockets]Problème étrange

Problème étrange [Sockets] - Python - Programmation

Marsh Posté le 12-01-2006 à 14:22:47    

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 :
  1. HOST = '192.168.1.48'
  2. PORT = 8881
  3. import socket, sys, threading
  4. class ThreadClient(threading.Thread):
  5.     def __init__(self, conn):
  6.         threading.Thread.__init__(self)
  7.         self.connexion = conn
  8.     def run(self):
  9.         nom = self.getName()
  10.         while 1:
  11.             msgClient = self.connexion.recv(1024)
  12.             if msgClient.upper() == "FIN" or msgClient =="":
  13.                 break
  14.             message = "%s> %s" % (nom, msgClient)
  15.             print message
  16.         self.connexion.close()
  17.         del conn_client[nom]
  18.         print "Client %s deconecte." % nom
  19. mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  20. try:
  21.     mySocket.bind((HOST, PORT))
  22. except socket.error:
  23.     print "oupsss"
  24.     sys.exit()
  25. print "Serveur pret, en ecoute ...."
  26. mySocket.listen(5)
  27. conn_client = {}
  28. while 1:
  29.     connexion, adresse = mySocket.accept()
  30.     th = ThreadClient(connexion)
  31.     th.start()
  32.     it = th.getName()
  33.     conn_client[it] = connexion
  34.     print "Client %s connecte, adresse IP %s, port %s." % (it, adresse[0], adresse[1])
  35.     connexion.send("Connecte." )


 

Reply

Marsh Posté le 12-01-2006 à 14:22:47   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed