Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1372 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Client/Serveur Python

 



Pas de sondage




    Attention si vous cliquez sur "voir les résultats" vous ne pourrez plus voter

     Mot :   Pseudo :  
     
    Bas de page
    Auteur Sujet :

    Client/Serveur Python

    n°2278272
    simon91
    Posté le 23-03-2016 à 21:09:10  profilanswer
     

    Bonjour tout le monde,
     
    J'ai implémenté un client serveur en python pour tester une connexion. Le code que j'ai implémenté contient déjà l'adresse et le port mais je voudrais plutot qu'à l'exécution l'adresse et le port soient fournis en ligne de commande plutot que d'etre dans le code.
     
    Exemple: ./serveur.py 127.0.0.1 1234 à taper en ligne de commande
     
    Si quelqu'un peut m'aider, je n'y arrive pas.
     
    serveur.c
     

    Code :
    1. import socket
    2. Sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    3. Host = '127.0.0.1' # l'ip locale de l'ordinateur
    4. Port = 1234         # choix d'un port
    5. # on bind notre socket :
    6. Sock.bind((Host,Port))
    7. # On est a l'ecoute d'une seule et unique connexion :
    8. Sock.listen(1)
    9. # Le script se stoppe ici jusqu'a ce qu'il y ait connexion :
    10. client, adresse = Sock.accept() # accepte
    11. print "L'adresse",adresse,"vient de se connecter au serveur !"
    12. while 1:
    13.         RequeteDuClient = client.recv(255) # on recoit 255 caracteres grand max
    14.         if not RequeteDuClient: # si on ne recoit plus rien
    15.                 break  # on break la boucle
    16.         print RequeteDuClient,"\a"         # affiche les donnees envoyees


     
    client.c

    Code :
    1. import socket # on importe le module
    2. Sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # on cree notre socket
    3. # definition des informations :
    4. Host = '127.0.0.1'
    5. Port = 1234
    6. # on se connecte sur le serveur avec les informations ci-dessus
    7. # assurez-vous d'avoir mis en marche le serveur !
    8. Sock.connect((Host,Port))
    9. # On est connecte, on fait une boucle infinie d'inputs pour l'envoi des messages :
    10. while 1:
    11.         msg = raw_input('>> ')  # on rentre des donnees
    12.         Sock.send(msg) # on envoie ces donnees


     
    Merci d'avance pour l'aide !

    mood
    Publicité
    Posté le 23-03-2016 à 21:09:10  profilanswer
     

    n°2278311
    masklinn
    í dag viðrar vel til loftárása
    Posté le 24-03-2016 à 16:01:56  profilanswer
     

    Elle est où la question?


    ---------------
    I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
    n°2278315
    simon91
    Posté le 24-03-2016 à 16:22:32  profilanswer
     

    masklinn a écrit :

    Elle est où la question?


     
    Salut masklin !  
    Ma question, je voudrais plutot qu'à l'exécution l'adresse et le port soient fournis en ligne de commande plutot que d'etre dans le code comme j'ai précisé ci dessus en donnant un exemple.

    n°2278318
    rat de com​bat
    attention rongeur méchant!
    Posté le 24-03-2016 à 16:41:13  profilanswer
     

    Je pense que tu cherches sys.argv qui contient les paramètres fournis en ligne de commande.

    n°2278322
    masklinn
    í dag viðrar vel til loftárása
    Posté le 24-03-2016 à 17:17:20  profilanswer
     

    simon91 a écrit :

    Salut masklin !  
    Ma question, je voudrais plutot qu'à l'exécution l'adresse et le port soient fournis en ligne de commande plutot que d'etre dans le code comme j'ai précisé ci dessus en donnant un exemple.


    cf reponse de rat de combat pour la version la plus basique (équivalent au char **argv en C), alternativement les modules "argparse" (stdlib), "optparse" (stdlib), "click" (externe) ou encore "doctopt" (externe) fournissent des interfaces de plus haut niveau pour définir et valider les paramètres en ligne de commande.


    ---------------
    I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
    n°2278332
    simon91
    Posté le 24-03-2016 à 18:24:03  profilanswer
     


    Ok merci pour l'aide. Je crois que le problème est maintenant résolu ;)


    Aller à :
    Ajouter une réponse
      FORUM HardWare.fr
      Programmation
      Python

      Client/Serveur Python

     

    Sujets relatifs
    pistes pour traduction code écrit en C en pythonAide sur un code Python
    Serveur pour faire tourner un script php[Python] Problème de frame
    JAVAFX comme client d'applications d'entrepriseSudoku Solver -- Python
    Traiter un tableau en .txt sur pythonconnexion serveur/client python
    serveur visual basic et client pythoncommunication client/serveur avec python
    Plus de sujets relatifs à : Client/Serveur Python


    Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR