Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème socket sur internet

Sujet résolu
    21 juillet 2011 à 18:07:19

    j'arrive a faire 2 script de socket sur mon pc, mais dès que j'essai ses scriptsur des post conecter uniquement par internet, la conecion echou!

    j'ai essayer avec des script très simple mais pas plus de résulta

    ex hote:
    >>>import socket
    >>>ss=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    >>>ss.bind(("xx.xx.xx.xx", 5554)) #ou "xx.xx.xx.xx" est mon
    >>>while 1: #adresse ip local
    >>> ss.listen(5)
    >>> co, b=s.accept()
    >>> co.send(b"azertyuiop")
    >>> co.close()

    et ex client:
    >>>import socket
    >>>ss=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    >>>ss.connect(("xx.xx.xx.xx", 5554))
    >>>ss.recv(1024)
    >>>ss.close()

    le programe client plante à partir du "ss.connect(("xx.xx.xx.xx", 5554))"

    quelqu'un a t-il déjà eu le même problème ou une solution??
    • Partager sur Facebook
    • Partager sur Twitter
      23 juillet 2011 à 10:16:33

      Quel est l'erreur qui s'affiche ?
      Est-ce que tu es derrière une box en mode routeur ?
      Si oui est-ce que le port que tu utilises est redirigée par ta box vers ton pc ?
      L'adresse utiliser côté serveur doit correspondre à l'interface sur laquelle tu recevra la connexion (genre 192.168... si tu es derrière un routeur).
      L'adresse IP côté client doit être l'adresse public sur internet du poste qui héberge le serveur (celle que tu vois en allant sur mon-ip.com depuis le PC serveur.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        23 juillet 2011 à 10:45:11

        Tu te simplifieras la vie en tapant déjà ton code en mode fichier.
        • Partager sur Facebook
        • Partager sur Twitter
          23 juillet 2011 à 13:38:13

          en gros le temp d'essai de conection est dépasser.

          Je suis derrière une box et j'utilise mon ip local pc qui est en 192.168 .Est ce que tu parler bien de cette ip la ou de l'IP de la box??

          Qu'appelle tu et comment rediriger un port vers le pc?
          • Partager sur Facebook
          • Partager sur Twitter
            23 juillet 2011 à 13:55:00

            Ton adresse IP en 192.168 est une adresse IP locale qui n'est pas accessible depuis l'extérieur.
            Il faut que tu ailles dans l'interface de configuration de ta box.
            Tu met le pc qui fait serveur en IP fixe ou mieux tu fais un baux un DHCP sur son adresse MAC pour que la box lui donne toujours la même IP.
            Ensuite tu fais une redirection de port (NAT), du 5554 de ta box vers le port 5554 de cette IP.
            Une fois cette redirection mise en place, si on essaie d'accéder à l'adresse <Ip publique de la box>:5554 depuis Internet ta box redirigera la connexion vers le PC qui fait serveur.
            Donc ton client python devra utiliser cette IP publique de la box pour pouvoir accéder à ton serveur depuis Internet.
            Pour le PC qui fait serveur le bind sert à préciser sur quel interface il va écouter les connexions entrantes. Là en générale on a une valeur pour dire depuis n'importe où. En python je ne sais pas quelle est cette valeur mais en mettant l'adresse locale du PC serveur en 192.168 ça devrait marcher
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              23 juillet 2011 à 13:59:13

              Citation

              Tu te simplifieras la vie en tapant déjà ton code en mode fichier.

              • Partager sur Facebook
              • Partager sur Twitter
                25 juillet 2011 à 22:36:39

                j'ai mit mon ip local en tant que ip fixe internet et rediriger un port de ma box vers mon pc!
                Mon script serveur se bind sur le port rediriger et l'ip local.
                Mon script client se connect sur le port rediriger et l'ip publique.

                sauf qui me met une erreur comme quoi le temp d'attente d'une reponce correct est depasser!!!

                la j'y comprend plus rien

                ps: désoler pour le temps que j'ai mit a répondre mais j'ai était très ocuper ses dernier temp!!
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  25 juillet 2011 à 23:39:26

                  Si j'ai bien compris, il s'agit de rendre un programme serveur accessible depuis internet ?

                  Ok alors admettons (par exemple) que sur ton réseau local, le pc qui va faire tourner ce serveur a l'IP 192.168.1.3 et que le programme écoute sur le port 5554. Il faut donc redirigé un port de la box vers l'adresse 192.168.1.3 et le numéro de port 5554 pour que le serveur soit visible.
                  Toujours pour l'exemple, imaginons que tu redirige le port 5000 vers ce programme (ip et port du pc host), le client devra se connecter à l'adresse IP de la box et sur le port 5000. La box se chargera de rediriger la connexion.

                  Il faut bien faire la différence entre l'IP ADSL de la box et l'ip local (interface de la box). Il est aussi possible que ta box soit connectée à internet avec une IP dite dynamique, ce qui signifie : une ip qui change régulièrement (tous les jours en général), auquel cas il te faudra changer d'abonnement ou payer un vrai serveur si tu veux que les clients puissent se connecter sans que tu ne doivent leur fournir l'adresse ip à chaque changement.

                  En espérant ne pas avoir dit trop de connerie, ça devrait fonctionner ainsi.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 juillet 2011 à 12:28:23

                    Sa y est, normalement sa devrai marcher, je ferai un edit pour confirmation.

                    Mon problème est que mozilia n'avait pas prit en compte la validation de la redirection nat (je suis chez darty).Si vous rencontrer le même problème essayer avec internet explorer, pour moi sa a marcher!!

                    Merci a tous pour vos réponces!
                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 juillet 2011 à 22:54:54

                      S'est bon, tout marche!! :)

                      Etrangement, quand j'execute le script serveur en no console, je n'arrive pas a me co avec le client!!
                      • Partager sur Facebook
                      • Partager sur Twitter

                      problème socket sur internet

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown