IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation multimédia/Jeux Python Discussion :

Besoin d'aide pour la création d'un jeu en réseau local


Sujet :

Programmation multimédia/Jeux Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 3
    Par défaut Besoin d'aide pour la création d'un jeu en réseau local
    Bonjour / Bonsoir,
    j'ai besoin d'aide pour un projet que je suis entrain de réaliser en ISN (Informatique et Sciences du Numérique), option en terminale S du lycée.

    Pour le bac nous devons créer un projet de notre choix programmé en langage Python.

    Nous sommes 3, et nous souhaitons créer un jeu. Un 1 contre 1, sur une carte 2D, avec une arme, une épée par exemple.
    Ce jeu sera en réseau local. Joueur 1 sur un ordinateur, joueur 2 sur l'autre.

    Cependant, j'ai un problème, je souhaite créer un serveur en local, en utilisant le module socket. Je n'arrive pas a me connecté au serveur entre les 2 ordinateurs sur le même réseau.
    J'aimerai savoir si quelqu'un pourrait m'aider à créer mon serveur, pour communiquer entre les 2 ordinateurs.

    Voici mon programme actuel :

    Serveur :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    import socket
    import threading
     
    class serveur(threading.Thread):
    	"""docstring for serveur"""
    	def __init__(self, arg):
    		threading.Thread.__init__(self)
    		self.arg = arg
     
    	def run(self) :
    		global dictio
    		nom = self.getName()
    		continuer = True
     
    		while continuer :
    			try :
    				message = self.arg.recv(1024).decode("Utf8")
    			except socket.error :
    				continuer = False
    				break
    			else :
    				for cle in dictio :
    					if cle != nom:
    						dictio[cle].send(message.encode("Utf8"))
    		del(dictio[nom])
    		for cle in dictio :
    			dictio[cle].send(("Le client {0} vient de se déconnecter.".format(nom)).encore("Utf8"))
     
     
     
    host = 'localhost'
    port = 9000
     
    dictio = {}
     
    mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     
    try :
    	mysock.bind((host, port))
    except socket.error :
    	print("Le serveur n'a pas pu démarrer.")
    	exit()
     
    mysock.listen(2)
    print("Le serveur est démarrer.")
     
    continuer = True
     
    while continuer :
    	connexion, adresse = mysock.accept()
    	print("Une personne vient de se connecter. IP = {0} | Port = {1}.".format(adresse[0],adresse[1]))
    	launch = serveur(connexion)
    	launch.start()
     
    	dictio[launch.getName()] = connexion


    Client :


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    import socket
    import threading
     
    class Send(threading.Thread):
    	"""docstring for Send"""
    	def __init__(self, arg):
    		threading.Thread.__init__(self)
    		super(Send, self).__init__()
    		self.arg = arg
     
    	def run(self):
    		continuer = True
     
    		while continuer :
    			message = input()
    			try :
    				self.arg.send(message.encode("Utf8"))
    			except socket.error :
    				continuer = False
    				break
    		self.arg.close()
     
    class Receive(threading.Thread):
    	"""docstring for Receive"""
    	def __init__(self, arg):
    		threading.Thread.__init__(self)
    		super(Receive, self).__init__()
    		self.arg = arg
     
    	def run(self):
    		continuer = True
     
    		while continuer :
    			try :
    				message = self.arg.recv(1024).decode("Utf8")
    			except socket.error :
    				continuer = False
    				break
    			else :
    				print(">>>>>>> {0}".format(message))
     
    		self.arg.close()
     
     
     
    host = 'localhost'
    port = 9000
     
    mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     
    try :
    	mysock.connect((host, port))
    except socket.error :
    	print("La connexion au serveur est impossible.")
    	exit()
     
    print("Connexion au serveur réussi.")
     
    continuer = True
     
    if __name__ == '__main__' :
    	sn = Send(mysock)
    	rv = Receive(mysock)
     
    	sn.start()
    	rv.start()


    De plus, j'aimerai savoir si possible, comment est-ce que je pourrai faire communiquer le jeu (Module Pygame) avec le serveur (Module socket). Où écrire le "programme" du jeu.

    Merci beaucoup à ceux qui souhaitent m'aider, j'espère être assez clair. J'essayerai de répondre au plus vite.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. besoin d'aide pour la création d'une requête
    Par fabien59420 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 11/06/2008, 15h29
  2. besoin d'aide pour la création d'un requête
    Par fabien59420 dans le forum Requêtes et SQL.
    Réponses: 19
    Dernier message: 21/05/2008, 11h41
  3. besoin d'aide pour la création d'un logiciel
    Par lemoinedu49 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/12/2007, 06h21
  4. Réponses: 3
    Dernier message: 26/06/2007, 14h53
  5. Réponses: 2
    Dernier message: 10/03/2006, 13h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo