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

C Discussion :

Communication inter-processus via pipe()


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Communication inter-processus via pipe()
    Salut à tous.

    Dans le cadre de mes etudes je doit ecrire un programme qui doit transmettre un tableau d'entier à 2 dimension entre 2 processus (père et fils)

    pour envoyer des données, je fait comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    int tube[2];
    int buf[8];
     
    pipe(tube);
     
    if(fork())
    {
       close(tube[0]);
       write(tube[1], buf, sizeof(buf));
    }
    else
    {
       close(tube[1]);
       read(tube[0],buf, sizeof(buf));
    }
    Pour un simple tableau, ça fonctionne correctement.
    Le problème étant que je souhaite faire circuler un tableau a 2 dimensions dans ce pipe.

    Avez vous une idée de la façon a procéder ?

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 474
    Par défaut
    Un tableau en C, quel que soit son nombre de dimensions, est un ensemble de variables du même type, consécutives en mémoire. Il te suffit donc de passer l'adresse et la taille de ton tableau à send() pour l'envoyer en totalité.

    Évidemment, il faut que l'autre programme soit au courant de ce que tu lui transmets, et qu'il s'agisse de machines du même type (sinon, il faudra sérialiser les informations à la main).

Discussions similaires

  1. Réponses: 10
    Dernier message: 21/01/2014, 22h11
  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