Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème quand j'éssaye de coder mon client,réseau

    2 février 2014 à 21:47:41

    Bonjour à tous alors quand j’essaie de compiler ce code ci
    import socket
    
    host = ''
    port = ''
    
    set_connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM°
    set_connection = ((host, port))
    set_connection.listen(5)
    print("Le port ecoute sur le port {}".format(port))
    
    connection_client, infos_connection = connection_main.accept()
    input("")

    (j'ai rien encore mit pour l'instant) ça me met l'erreur: syntaxerror: non-utf-8 cpde starting with '\xb0 quand je le lance avec l'invite de commande windows et quand je le lance avec le compilateur (IDLE) ça me met l'erreur: SyntaxError: multiple statements found while compiling a single statement.

    Voilà, merci d'avance à tout le monde pour votre aide :) .

    Je suis sur windows 7 je ne sais pas si ça change quelque chose.


    -
    Edité par sparitates 2 février 2014 à 21:59:58

    • Partager sur Facebook
    • Partager sur Twitter
    Go Hard Or Go Home
    Anonyme
      3 février 2014 à 8:36:19

      set_connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      set_connection = ((host, port))
      Tu n'écrases pas ton socket par un tuple ci-dessus ?
      • Partager sur Facebook
      • Partager sur Twitter
        3 février 2014 à 10:21:07

        Salut,

        Bon, je suis pas sur mais je vais tenter quand même:

        Au début de ton code, met:

        #-*-coding:ISO-*-

        Windows code par défaut avec la norme ISO alors que python3 interprète un code qui doit être en UTF8.

        avec ce pseudo-commentaire, tu indique la norme de codage utilisé.

        -
        Edité par pythan 3 février 2014 à 10:21:27

        • Partager sur Facebook
        • Partager sur Twitter
        Bevet Breizh! Breizh dizalc'h! Betek an trec'h! Ha mallozh ruz d'ar c'hallaoued! Trouvez votre voie
          3 février 2014 à 19:12:51

          ça reste la même erreur et fred je ne sais pas j'ai pas compris ton message, mais merci pour vos réponses.
          • Partager sur Facebook
          • Partager sur Twitter
          Go Hard Or Go Home
          Anonyme
            3 février 2014 à 19:18:54

            fred je ne sais pas j'ai pas compris ton message

            >>> set_connection = (('localhost', '80'))
            >>> type(set_connection)
            <class 'tuple'>
            >>> set_connection.listen(5)
            Traceback (most recent call last):
              File "<stdin>", line 1, in <module>
            AttributeError: 'tuple' object has no attribute 'listen'
            



            • Partager sur Facebook
            • Partager sur Twitter
              3 février 2014 à 19:49:13

              euh bah j'avais suivi le tutoriel python de ce site :D
              • Partager sur Facebook
              • Partager sur Twitter
              Go Hard Or Go Home
                3 février 2014 à 19:52:48

                #-*-coding:ISO-*-
                import socket
                
                host = ''
                port = ''
                
                set_connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                set_connection.bind((host, port))
                set_connection.listen(5)
                print("Le port ecoute sur le port {}".format(port))
                
                connection_client, infos_connection = connection_main.accept()
                input("")
                
                 
                j'avais oublié le bind je l'ai rajouter et j'ai toujours la même erreur. mais merci de tes réponses.

                -
                Edité par sparitates 3 février 2014 à 20:35:10

                • Partager sur Facebook
                • Partager sur Twitter
                Go Hard Or Go Home
                  3 février 2014 à 23:20:39

                  import socket
                  
                  hote = ''
                  port = 12800
                  
                  connexion_principale = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                  connexion_principale.bind((hote, port))
                  connexion_principale.listen(5)
                  print("Le serveur écoute à présent sur le port {}".format(port))
                  
                  connexion_avec_client, infos_connexion = connexion_principale.accept()
                  
                  msg_recu = b""
                  while msg_recu != b"fin":
                      msg_recu = connexion_avec_client.recv(1024)
                      # L'instruction ci-dessous peut lever une exception si le message
                      # Réceptionné comporte des accents
                      print(msg_recu.decode())
                      connexion_avec_client.send(b"5 / 5")
                  
                  print("Fermeture de la connexion")
                  connexion_avec_client.close()
                  connexion_principale.close()
                  même quand je copie colle le code du site du zéro j'ai la même erreur : SyntaxError: multiple statements found while compiling a single statement
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Go Hard Or Go Home
                  Anonyme
                    3 février 2014 à 23:39:44

                    Il faut aussi comprendre ce que tu fais. L'erreur que tu cite semble nous indiquer que tu as simplement collé ce pâter dans l'interpréteur (en l’occurrence celui d'IDLE). Le shell Python n'est pas fait pour ça. Il sert à exécuter des instructions les unes après les autres :

                    >>> import socket
                    >>> 
                    >>> hote = '127.0.0.1'
                    >>> port = 12800
                    >>> 
                    >>> connexion_principale = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                    >>> connexion_principale.bind((hote, port))
                    >>> connexion_principale.listen(5)
                    >>> print("Le serveur écoute à présent sur le port {}".format(port))
                     Le serveur écoute à présent sur le port 12800
                    >>> connexion_avec_client, infos_connexion = connexion_principale.accept()
                    >>> 
                    >>> msg_recu = b""
                    >>> while msg_recu != b"fin":
                    ...     msg_recu = connexion_avec_client.recv(1024)
                    ...     # L'instruction ci-dessous peut lever une exception si le message
                    ...     # Réceptionné comporte des accents
                    ...     print(msg_recu.decode())
                    ...     connexion_avec_client.send(b"5 / 5")
                    ... 
                    premier message reçu...
                    deuxième...
                    fin
                    >>> print("Fermeture de la connexion")
                    Fermeture de la connexion
                    >>> connexion_avec_client.close()
                    >>> connexion_principale.close()
                    >>>
                    

                    -
                    Edité par Anonyme 3 février 2014 à 23:40:16

                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 février 2014 à 22:01:08

                      Merci de ton aide mais quand je fait
                      >>> import socket
                      >>> host = '127.0.0.1'
                      >>> port = '12800'
                      >>> connexion_principale = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                      >>> connexion_principale.bind((hote, port))
                      Traceback (most recent call last):
                        File "<pyshell#5>", line 1, in <module>
                          connexion_principale.bind((hote, port))
                      NameError: name 'hote' is not defined
                      j'ai cette erreur...
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Go Hard Or Go Home
                      Anonyme
                        4 février 2014 à 23:03:25

                        j'ai cette erreur...

                        Et ? Tu veux vraiment nous faire croire que tu n'as pas compris ton erreur ?

                        >>> import socket
                        >>> host = '127.0.0.1'
                        >>> port = '12800'
                        >>> connexion_principale = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                        >>> connexion_principale.bind((hote, port))
                        Traceback (most recent call last):
                          File "<pyshell#5>", line 1, in <module>
                            connexion_principale.bind((hote, port))
                        NameError: name 'hote' is not defined
                        

                        hote ou host ?

                        • Partager sur Facebook
                        • Partager sur Twitter
                          4 février 2014 à 23:31:17

                          vraiment désolé là j'avoue j'abuse...
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Go Hard Or Go Home
                            4 février 2014 à 23:33:22

                            >>> import socket
                            >>> host = '127.0.0.1'
                            >>> port = '12800'
                            >>> connexion_principale = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                            >>> connexion_principale.bind((host, port))
                            Traceback (most recent call last):
                              File "<pyshell#4>", line 1, in <module>
                                connexion_principale.bind((host, port))
                            TypeError: an integer is required
                            >>> 
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Go Hard Or Go Home
                            Anonyme
                              4 février 2014 à 23:34:16

                              vraiment désolé là j'avoue j'abuse...

                              Merci de le reconnaître.

                              Sois plus attentif à ce que tu fais et à ce que te dit (très clairement) Python. ;)

                              Bonne continuation.

                              [edit] Tu es entrain de me faire regretter mes mots... Bref : le port doit être un entier et non une chaîne de caractères.

                              [edit2] Je pense que les sockets c'est trop tôt pour toi. Un tuto ça se lit en commençant par le début (comme beaucoup de choses d'ailleurs...)

                              -
                              Edité par Anonyme 4 février 2014 à 23:39:56

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Problème quand j'éssaye de coder mon client,réseau

                              × 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