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

Réseau/Web Python Discussion :

Select sous windows [Python 3.X]


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 2
    Par défaut Select sous windows
    Bonjour, c'est mon premier post alors je m’excuse d'avance si il n'est pas dans les règles.
    Étant un utilisateur Linux, je programme des serveurs en python avec la méthode select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import select
    import socket
    import sys
    input = [server,sys.stdin]
    inputready,outputready,exceptready = select.select(input,[],[])
    Ce code marche niquel sur Linux mais Windows n'accepte pas input = [server,sys.stdin]
    J'ai cherché sur internet et il disent simplement de remplacer la ligne avec input par input = [server]
    Cependant j'obtiens des erreurs quand même (Windows 8 ; Ubuntu 14.04)
    Merci de vos réponses éventuelles ...

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Le soucis est que sous Windows, select ne s'applique qu'aux sockets.
    Une solution pourrait être de pousser le serveur dans un thread et de faire les ES sur la console à partir du thread principal.

    Lorsque vous postez du code, essayez de poster un code qui marche:
    Un truc comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import select
    import socket
    import sys
    input = [server,sys.stdin]
    inputready,outputready,exceptready = select.select(input,[],[])
    ne peut pas fonctionner car "server" n'a pas été assigné.
    Et cela est aussi vrai sur Linux que sur Windows.

    S'il ne marche pas, postez la trace de l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> import sys
    >>> input = [server,sys.stdin]
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'server' is not defined
    est quand même plus précis que seulement dire "j'obtiens des erreurs quand même".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 2
    Par défaut Merci
    Salut, Merci tout d'abord de ta réponse extrêmement rapide ...
    Le problème est que je ne suis absolument pas un professionnel de l'informatique, je suis au lycée et j'ai 15 ans.
    Ce petit serveur servait pour un petit pong en réseau que j'avais programmé pour délirer avec un pote.
    Maintenant j'ai deux problème : de 1 je ne suis pas bon en informatique du coup quand tu me dis "pousser le serveur dans un thread et de faire les ES sur la console à partir du thread principal" je comprends pas .
    Même si j'arriverais a régler ce problème (qui est du a windows j'en suis convaincu), il me reste le problème du serveur que je dois heberger sur mon ordi. Seulement je ne peux pas me connecter a distance avec car mon internet passe par la box et j'ai lu sur divers forum qu'il fallait reconfigurer la box pour que si une info arrive d'un certain port elle soit rediriger vers mon serveur.
    Du coup c'est lié a l'échec

    Voila Voila Bonne journée a tous

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par sulaf Voir le message
    Le problème est que je ne suis absolument pas un professionnel de l'informatique, je suis au lycée et j'ai 15 ans.
    Ce petit serveur servait pour un petit pong en réseau que j'avais programmé pour délirer avec un pote.
    Maintenant j'ai deux problème : de 1 je ne suis pas bon en informatique du coup quand tu me dis "pousser le serveur dans un thread et de faire les ES sur la console à partir du thread principal" je comprends pas
    Bon ou mauvais est très relatif, la question est de savoir que faire pour être "meilleur".
    Le tutoriel apprendre Python3 est fait pour vous.
    Il n'aborde la programmation réseau qu'au chapitre 20.
    Vous y trouverez une illustration de ce qu'on peut faire des threads dans ce cas là.

    Bon courage
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/07/2015, 07h51
  2. select full text sous windows et paramètre ft_min_word
    Par pogo_nkt dans le forum Installation
    Réponses: 1
    Dernier message: 16/10/2006, 09h34
  3. Problème d'utilisation select () avant recv sous windows
    Par init dans le forum Développement
    Réponses: 3
    Dernier message: 16/03/2005, 19h36
  4. Pas de fork sous Windows?
    Par chezjm dans le forum POSIX
    Réponses: 8
    Dernier message: 11/06/2002, 12h15
  5. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45

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