Bonsoir,
Je suis en train de tester le comportement d'un script qui permet de connecter un client à un jeu vidéo réseau (qui tourne pour l'instant sur localhost). Selon les arguments que je fournis au script, il s'agira soit du 1er soit du 2nd client.
Lorsque j'execute le script (que ce soit depuis Windows ou depuis Eclipse) deux fois, en changeant les arguments, tout fonctionne bien.
Lorsque j'essaye de lancer les 2 scripts depuis Python, le réseau plante, et j'obtiens une erreur du type "une connexion distante a du etre fermée". J'utilise subprocess et le code suivant:
J'ai peut etre (surement!) fait une erreur sur l'implémentation de mon réseau et de mes clients, mais avant d'aller voir de ce coté-ci, je me demandais s le fait de lancer 2 subprocess depuis un script principal pouvait avoir un effet, par exemple si le lancement du 2nd process depuis le meme process parent pouvait être la source de ce bug.
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 import time, threading, subprocess def lancerSubProcess(cmd, input=None, cwd=None, env=None): pipe = subprocess.Popen( cmd, shell=False, cwd=cwd, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT ) def lancer(name): lancerSubProcess("python "+ name) NAME= "scriptClientSimple.py" def start2clients(): print "starting 1st" lancer(NAME+ " 1") time.sleep(5) # wait server creation print "starting 2nd" lancer(NAME + " 2") if __name__ == '__main__': start2clients() print "available"
Merci d'avance pour vos réponses.
Partager