Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de communication socket en local.

    11 juillet 2019 à 18:17:10

    Bonjour, je suis incapable de communiquer avec 2 ordinateurs avec mon server et mon client en local mais quand je suis sur le même pc la communication se fait avec succès.Alors comment faire pour communiquer avec 2 pc différents.Les pc sont sur windows et j'utilise python3.6.Voici les programmes :

    #serveur
    import socket
    import sys
    
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
    host,port = ('',40000)
    
    s.bind((host,port))
    print(f'[+]En attente d\'une connexion au port {port}')
    s.listen(5)
    co = s.accept()
    
    
    while(True):
        msg = input('>')
        co[0].send(msg.encode('utf-8'))
        data = co[0].recv(1024).decode('utf-8','ignore')
        print(data)
    #client
    import socket
    import sys
    
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
    host,port = ('localhost',40000)
    
    s.connect((host,port))
    
    while(True):
        data = s.recv(1024).decode("utf-8")
        print(data)
    
        s.sendall(b'ok')


    Merci pour votre aide!

    -
    Edité par Baselin 11 juillet 2019 à 18:18:52

    • Partager sur Facebook
    • Partager sur Twitter
      11 juillet 2019 à 20:31:18

      Ton client essaye de se connecter au localhost, soit à la machine sur laquelle il est exécuté. Remplace localhost par l'adresse IP (sans doute locale) de ton autre machine.

      -
      Edité par BunshinKage 11 juillet 2019 à 20:31:46

      • Partager sur Facebook
      • Partager sur Twitter
        12 juillet 2019 à 1:09:41

        BunshinKage a écrit:

        Ton client essaye de se connecter au localhost, soit à la machine sur laquelle il est exécuté. Remplace localhost par l'adresse IP (sans doute locale) de ton autre machine.

        -
        Edité par BunshinKage il y a environ 4 heures


        J'ai déja éssayé et ça n'a pas marché.As-tu d'autres solution?
        • Partager sur Facebook
        • Partager sur Twitter
          23 juillet 2019 à 16:09:33

          Je n'ai pas eu de problèmes en testant ton code sur deux machines différentes en indiquant l'adresse IP de mon serveur à la place de localhost. Es-tu sûr d'avoir rentré la bonne adresse ? Es-tu capable, depuis ton client de faire un ping à destination de ton serveur ?
          • Partager sur Facebook
          • Partager sur Twitter
            2 août 2019 à 23:21:39

            BunshinKage a écrit:

            Je n'ai pas eu de problèmes en testant ton code sur deux machines différentes en indiquant l'adresse IP de mon serveur à la place de localhost. Es-tu sûr d'avoir rentré la bonne adresse ? Es-tu capable, depuis ton client de faire un ping à destination de ton serveur ?


            Oui, je suis sur d'avoir la bonne address et oui je peux faire un ping a mon serveur.
            • Partager sur Facebook
            • Partager sur Twitter
              2 août 2019 à 23:38:32

              Tu as une erreur en particulier sur l'une des deux consoles sur lesquelles tu lances le programme, que ce soit le client ou le serveur ?
              • Partager sur Facebook
              • Partager sur Twitter
                3 août 2019 à 2:03:42

                BunshinKage a écrit:

                Tu as une erreur en particulier sur l'une des deux consoles sur lesquelles tu lances le programme, que ce soit le client ou le serveur ?


                J'ai cette erreure :

                Traceback (most recent call last):

                  File "C:\Users\baselin\Desktop\pygame\test\socket\v.py", line 53, in <module>

                    main()

                  File "C:\Users\baselin\Desktop\pygame\test\socket\v.py", line 12, in main

                    s.connect((host,port))

                ConnectionRefusedError: [WinError 10061] Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée

                • Partager sur Facebook
                • Partager sur Twitter
                  3 août 2019 à 12:11:41

                  Salut, cette erreur indiques que le port auquel tu essaies de te connecter est fermé. Plusieurs possibilités : soit tu as lancé le client avant le serveur, soit tu t'es trompé dans l'adresse ou le port. Peut être aussi que tu as un parfeu qui bloque les connexions.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 août 2019 à 21:59:21

                    __Nicolas__ a écrit:

                    Salut, cette erreur indiques que le port auquel tu essaies de te connecter est fermé. Plusieurs possibilités : soit tu as lancé le client avant le serveur, soit tu t'es trompé dans l'adresse ou le port. Peut être aussi que tu as un parfeu qui bloque les connexions.


                    Je ne me suis pas trompé de port et d'address.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 août 2019 à 16:03:57

                      Tu as vérifié les paramètres du pare-feu de la machine sur laquelle tourne le serveur ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        4 août 2019 à 17:49:33

                        BunshinKage a écrit:

                        Tu as vérifié les paramètres du pare-feu de la machine sur laquelle tourne le serveur ?


                        Non,comment on fait?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          6 août 2019 à 16:22:00

                          Sous Windows, tu dois pouvoir désactiver le pare-feu en désactivant Windows Defender. C'est un peu brutal, mais ça permettra déjà de voir si le problème vient de là.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 août 2019 à 16:01:14

                            BunshinKage a écrit:

                            Sous Windows, tu dois pouvoir désactiver le pare-feu en désactivant Windows Defender. C'est un peu brutal, mais ça permettra déjà de voir si le problème vient de là.


                            Sa a rien changer a mon probleme, je crois que c'est mort!

                            -
                            Edité par Baselin 27 août 2019 à 16:10:22

                            • Partager sur Facebook
                            • Partager sur Twitter
                              27 août 2019 à 18:34:40

                              Tu as mis quoi comme adresse IP pour la connexion ? Parce que si tu es en local, il faut utiliser les adresses locales (souvent en 192.168...) et pas l'adresse IP publique (pas celle qu'on trouve sur des sites type mon-ip.com).
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Blond, bouclé, toujours le sourire aux lèvres...

                                27 août 2019 à 19:12:42

                                LoupSolitaire a écrit:

                                Tu as mis quoi comme adresse IP pour la connexion ? Parce que si tu es en local, il faut utiliser les adresses locales (souvent en 192.168...) et pas l'adresse IP publique (pas celle qu'on trouve sur des sites type mon-ip.com).


                                Mon addresse ip local
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Problème de communication socket en local.

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                • Editeur
                                • Markdown