Bonjour,
Je cherche à faire fonctionner deux scripts ensemble afin de tester une application.
Un premier script gèrerait le séquencement du test en envoyant successivement les commandes.
Un second script recevrait les commandes, et après les avoir interpètées, piloterait l'application à tester.
Le problème que je rencontre, est que l'envoi d'une commande à l'aide de la méthode socket.send fonctionne.
Si j'envoie deux commandes successives (espacées de 10 secondes dans le temps), mon serveur reçoit une chaine de caractère qui semble concaténer mes deux commandes. Je reçois ainsi "Force Var_Left TRUEForce..."
Comment puis-je forcer l'envoi des commandes de manières séparées et successives ?
Merci pour votre aide.
Le script serveur attend chaque commande:
Le script client envoi les commandes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: socket.bind(('', 15555)) except socket.error: print("Echec connexion") sys.exit() while (Running==True): #while True: socket.listen(5) client, address = socket.accept() print("{} connected".format( address )) response = client.recv(255) if response != "": CommandLine=(response.split(" ")) if CommandLine[0]=="Quit": QuitApplication() Running=False if CommandLine[0]=="Force": ForceValue(CommandLine[1], CommandLine[2]) CommandLine[:]=[] response="" print("Close") client.close() socket.close()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) socket.connect((hote, port)) print "Connection on {}".format(port) socket.send(u"Force Var_Left TRUE") time.sleep(10) socket.send(u"Force Var_Right TRUE") time.sleep(10) socket.send(u"Quit") print("Close") socket.close()
Partager