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 :

serveur / client envoyer les caractères en temps réél


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Par défaut serveur / client envoyer les caractères en temps réél
    Bonjour à tous.

    J'ai établie des scripts de connexion client / serveur.
    Tout fonctionne très bien, cependant pour les besoins de mon application, les caractères "\r \n" doivent êtres considérés comme n'importe quels caractères.
    Mon problème est donc le suivant :
    Je veux que chaque caractère tapé côté client soit envoyé instentanément côté serveur, autrement dit, je ne veux pas à avoir à taper sur la touchée Entrée pour que ce que j'ai tapé soit envoyé.
    Si vous avez queques idées ...
    Merci d'avance,

    Xeneize

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,
    A mon sens les échanges client/serveur sont ici accessoires: votre soucis est de lire au fur et à mesure les caractères tapés sur le clavier.
    Voir peut être du côté des bibliothèques termios ou tty mais n'oubliez pas non plus qu'en faisant cela il faudra sans doute traiter des fonctions d'éditions (les actions de BS/^H/...)
    Bon courage
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,
    A mon sens les échanges client/serveur sont ici accessoires: votre soucis est de lire au fur et à mesure les caractères tapés sur le clavier.
    Voir peut être du côté des bibliothèques termios ou tty mais n'oubliez pas non plus qu'en faisant cela il faudra sans doute traiter des fonctions d'éditions (les actions de BS/^H/...)
    Bon courage
    - W
    Merci, je vais me pencher sur les deux librairies.
    Qu'entendez-vous par fonctions d'éditions ?
    merci d'avance.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Re,

    Citation Envoyé par xeneize Voir le message
    Merci, je vais me pencher sur les deux librairies.
    Qu'entendez-vous par fonctions d'éditions ?
    merci d'avance.
    La "console" lit les commandes ligne par ligne.
    Une ligne étant définie par se termine par CRLF.
    Avant d'envoyer la ligne vous pouvez "corriger" ce que vous avez déjà tapé: le driver de saisie inclut des fonctions d'édition.
    Si vous dites: "je veux recevoir les caractères au fur et à mesure", vous êtes en conflit avec le driver de saisie... Et aurez à coopérer ou suppléer pour réaliser vos lectures.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Par défaut
    Merci pour votre réponse.

    J'ai cherché dans les deux modules que vous m'avez proposé, mais je n'ai rien trouvé de concluant ...

    dans mon cas, pour être plus précis, mes fonctions d'envoi et de reception de message sont
    socket.send() et sokcet.recv(), qui sont chacun dans une boucl infinie (serveur ininterrompu)

    n'y a t'il pas un réglage ou un paramètre à fixer sur ces fonctions ?
    Je débute en Python, une aide ou uné reponse serait très appreciée !!

    Merci d'avance.

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Re

    n'y a t'il pas un réglage ou un paramètre à fixer sur ces fonctions ?
    socket.send ou socket.receive ne feront qu'expédier les caractères lus au clavier. Si vous voulez expédier (via socket.send) les caractères au fur et à mesure qu'ils sont tapés/entrés, le préalable est de les lire.

    Cette lecture concerne les interactions entre le clavier, son driver, l'OS et votre programme. Elle est indépendante des échanges effectués "après" (entre vos programmes et TCP/IP) avec socket.send ou socket.receive.
    Il n'y a donc aucun paramètre magique à positionner.
    Par contre, sachant cela, vous pourriez reformuler vos besoins:

    cependant pour les besoins de mon application, les caractères "\r \n" doivent êtres considérés comme n'importe quels caractères.
    Mon problème est donc le suivant :
    Je veux que chaque caractère tapé côté client soit envoyé instentanément côté serveur, autrement dit, je ne veux pas à avoir à taper sur la touchée Entrée pour que ce que j'ai tapé soit envoyé.
    Pour échanger "n'importe quel caractère" entre clients et serveur, qu'apporte lire caractère par caractère plutôt que ligne par ligne?


    Je débute en Python, une aide ou uné reponse serait très appreciée !!
    Vos questions portent sur de la programmation système ou réseau sont indépendantes du langage de programmation: vous auriez les mêmes soucis en C, en Fortran, en Java,...
    Bon courage
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 19
    Dernier message: 03/01/2007, 15h49
  2. [debutant][Client-serveur] Question sur les sockets
    Par skwi6 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 06/11/2006, 16h04
  3. Serveur/Client UDP: comment envoyer un fichier avec mon code
    Par danje dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 21/12/2005, 15h54
  4. Réponses: 1
    Dernier message: 30/05/2005, 18h02
  5. Socket:Envoyer du texte d'un serveur vers tout les clients
    Par cedm78 dans le forum Web & réseau
    Réponses: 7
    Dernier message: 01/08/2002, 17h40

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