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

Linux Discussion :

[IPC]Que choisir et comment faire ?


Sujet :

Linux

  1. #1
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut [IPC]Que choisir et comment faire ?
    Bonjour à tous et toutes !

    Je vais essayer de vous expliquer mon problème.
    J'ai deux appli (disons, app1 et app2) qui doivent communiquer.
    J'entends par là, deux binaires, exécutés séparément, donc deux process.

    app2 doit pouvoir demander à app1 d'exécuter certaines fonctions, et app1 doit retourner le résultat à app2.

    Le truc, c'est que app1 a une vie "infinie" et app2 peut être appelée et coupée plusieurs fois.

    Ma première idée était de mettre en place 2 pipes, ou alors de faire des sockets.

    Je ne sais pas ce qui est le plus rapide à développer, ni ce qui est le plus efficace.
    Merci d'avance de votre aide !

  2. #2
    Membre averti

    Inscrit en
    Juillet 2008
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 186
    Points : 350
    Points
    350
    Par défaut
    Bonjour,

    Cela ressemble à un système client(app2)/serveur(app1). Je me pose juste une petite question concernant app1 : est-ce qu'il (A) "doit avoir une vie infinie", ou alors est-ce que la contrainte ne serait pas plutôt de type (B) "doit pouvoir être appelée par app2 à tout moment" ?

    C'est une question intéressante à se poser, car dans le cas B, il est possible de créer app1 comme une application toute simple, qui lit des données sur l'entrée standard et écrit ses résultats sur la sortie standard. Il suffit alors de l'installer avec un système du type inetd. Ce dernier va écouter sur un port réseau, et si quelqu'un se connecte (app2), va lancer app1, et le connecter de manière à faire transiter entrée et sortie correctement entre le client et le serveur.

    Cela apporte comme avantage une grande simplicité d'écriture et surtout de test, puisque app1 peut être testée de manière interactive dans le shell avec des pipes et des fichiers. L'inconvénient est le démarrage d'un processus à chaque connection, ce qui devient gênant si app1 doit traiter beaucoup de requêtes (>100/s), ou carrément rédhibitoire s'il a besoin de charger une quantité énorme de données à chaque démarrage.

    Didier

  3. #3
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    La contrainte est effectivement plus proche de B.
    Ceci dit, potentiellement, le nombre de requêtes risque d'être important (> 100/s).
    Je me suis aussi posé la question de la mémoire partagée.

    Je me place dans le cadre d'un système embarqué, et app1 sera probablement l'une des seules appli lancées.

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Tu peux aussi regarder du côté des technos genre CORBA, D-BUS... Quoi que pour de l'embarqué ce n'est peut-être pas très adapté.

Discussions similaires

  1. [NetBeans][Dialogbox] Que choisir et comment mettre en place ?
    Par cryosore dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 13/05/2010, 01h18
  2. Réponses: 5
    Dernier message: 17/03/2010, 11h33
  3. Réponses: 1
    Dernier message: 29/09/2008, 21h28
  4. Réponses: 4
    Dernier message: 26/10/2007, 12h52
  5. 3D je me lance mais que choisir et comment faire?
    Par nooblender dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 27/08/2006, 14h58

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