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

Python Discussion :

Communication inter-processus (C et Python)


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    aaa
    Inscrit en
    Octobre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : aaa

    Informations forums :
    Inscription : Octobre 2008
    Messages : 8
    Par défaut Communication inter-processus (C et Python)
    Bonjour,

    J'aurai besoin d'avis sur la communication inter-processus. Voilà le problème : j'ai un programme en ligne de commande écrit en C sur lequel je dois greffer une GUI en Python... (dans quoi je m'embarque!) Le tout doit être évidemment portable...
    Pour la communication entre ces deux processus, l'un en C compilé, l'autre en Python interprété, comment puis-je faire ?
    - J'ai entendu parler des pipes, mais ça n'existe que sous linux ça non ?
    - la librairie boost:signal ne marche qu'entre thread ?
    - il reste sinon la communication réseau, mais ça pose problème au niveau de pare-feu, etc... et c'est je pense relativement lent pour une bonne réactivité ?
    - sinon la solution par fichier temporaire me parait encore plus lente, alors je mets cette solution directement aux oubliettes je crois...

    Merci à tous !
    Ju.

  2. #2
    Membre à l'essai
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Par défaut
    Tout d'abord, j'apprends encore le français. Je parle anglais .

    Vous pouvez utiliser les sockets. Python a le module socket et C a le socket.h.

    Créez deux sockets, l'une en mode serveur et l'autre en mode client. Mettez tous les deux sur le même port. Maintenant, on peut communiquer entre les sockets.

    Sockets existent à linux et windows et beaucoup d'autre systèmes d'exploitations.

    J'espère que je vous aidais.

    Comment est mon français?

  3. #3
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par jul39dole Voir le message
    Bonjour,

    J'aurai besoin d'avis sur la communication inter-processus. Voilà le problème : j'ai un programme en ligne de commande écrit en C sur lequel je dois greffer une GUI en Python... (dans quoi je m'embarque!) Le tout doit être évidemment portable...
    Pour la communication entre ces deux processus, l'un en C compilé, l'autre en Python interprété, comment puis-je faire ?
    - J'ai entendu parler des pipes, mais ça n'existe que sous linux ça non ?
    - la librairie boost:signal ne marche qu'entre thread ?
    - il reste sinon la communication réseau, mais ça pose problème au niveau de pare-feu, etc... et c'est je pense relativement lent pour une bonne réactivité ?
    - sinon la solution par fichier temporaire me parait encore plus lente, alors je mets cette solution directement aux oubliettes je crois...

    Merci à tous !
    Ju.
    Apparemment tu as le code source de ton application en ligne de commande ? Si celle-ci est structuré de façon professionnelle, tu devrais pouvoir en faire une librairie C que tu utiliserais directement depuis ton Python (les techniques pour embarquer du C en Python sont relativement facile à utiliser, renseigne-toi sur le forum Python).
    C'est la meilleure solution si elle est possible.
    Sinon, cela dépend de la nature de ton application : un shell, un convertisseur ... ?

    Citation Envoyé par iammisc Voir le message
    Créez deux sockets, l'une en mode serveur et l'autre en mode client. Mettez les toutes les deux sur le même port. Maintenant, on peut communiquer entre les sockets.

    Les sockets existent sous linux et windows et beaucoup d'autres systèmes d'exploitations.

    J'espère que je vous aide.

    Comment est mon français?
    Très bon, sans doute bien meilleur que mon anglais ! (Very nice french, much better than my own english !)

    --
    Jedaï

  4. #4
    Membre habitué
    Profil pro
    aaa
    Inscrit en
    Octobre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : aaa

    Informations forums :
    Inscription : Octobre 2008
    Messages : 8
    Par défaut
    Oui j'ai le code source disponible Jedai. Merci pour l'information, je ne pensais pas que du C était directement embarquable dans du python. Quand tu parles de bibliothèque, tu parles de .lib ou .dll ou .so ou .a ?

    merci iammisc, mais j'ai peur que l'utilisation des sockets soit un peu problématique niveau sécurité et vitesse... ton français est correct, il y a justes quelques fautes et tournures de phrases qui montrent que tu ne maîtrises pas parfaitement la langue, mais tu es sur la bonne voie

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Par défaut
    Merci pour corriger mon francais.

    Voila les indications pour créer une module C pour utiliser sous Python.

    http://www.python.org/doc/2.5.2/ext/intro.html

    Mais il est en anglais.

    voila en francais(traduit par google).

    http://translate.google.fr/translate...%3Dfr%26sa%3DG

  6. #6
    Membre habitué
    Profil pro
    aaa
    Inscrit en
    Octobre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : aaa

    Informations forums :
    Inscription : Octobre 2008
    Messages : 8
    Par défaut
    Merci pour le lien

Discussions similaires

  1. Communication inter-processus et pause()
    Par jsebfranck dans le forum POSIX
    Réponses: 10
    Dernier message: 14/02/2008, 14h52
  2. [windows] Communication inter-processus
    Par litbos dans le forum Windows
    Réponses: 6
    Dernier message: 16/01/2007, 09h13
  3. [Perl] communication Inter-Processus
    Par MarneusCalgarXP dans le forum Langage
    Réponses: 15
    Dernier message: 14/08/2006, 22h43
  4. [débutant] Communication inter-processus
    Par tooney dans le forum C
    Réponses: 3
    Dernier message: 29/12/2005, 20h48
  5. communication inter-processus
    Par benoit70 dans le forum MFC
    Réponses: 1
    Dernier message: 14/04/2005, 09h55

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