Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1164 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Faire communiquer 2 programmes sur une mm machine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Faire communiquer 2 programmes sur une mm machine

n°262298
vanik
Posté le 05-12-2002 à 18:59:02  profilanswer
 

Salut à tous,
 
je ne sais pas si j'ai bien choisi le titre... je voudrais faire communiquer 2 programmes, genre client/serveur, mais sur une mm machine, donc pas en reseau... ;) en langage c.
je v vous donner un exemple simple mais qui utilise surement la mm methode que celle dont j'ai besoin. un jeu en reseau type puissance 4 par exemple (donc 2 joueurs).
 
- le serveur signale au client qu'il attend les données.
- le client entre les données (sur le clavier).
- le serveur verifie que les données sont bonnes.
     * si elles sont fausses, le serveur envoie un signal particulier au client pr lui dire de recommencer.
     * si elles sont bonnes, le serveur envoie un autre signal particulier pr aquitter. il verifie si le jeu est fini.
          + si non, le serveur recommence tout le processus avec l'autre client et l'informe du nouvel etat du jeu.
          + si oui, il informe les 2 clients que le jeu est fini et affiche l'issue du jeu sur la sortie standard.
 
 
voila, je ne vous demande biensur pas de me pondre le code entier. par contre, etant donné que je debute en programmation, j'aurais aimé savoir comment faire ceci. le serveur (qui n'en est pas un en fait...) doit gerer 4 descripteurs de fichiers : l'entree et la sortie standard de chacun des joueurs.
ne sachant pas bien manipuler les fonctions adequates, je bloque.
on m'a dit qu'il faudrait utiliser les fonctions fscanf et fdopen. j'etais pr ma part parti ds des fork et des pipe, mais j'ai peur de faire fausse route.
 
DONC je fais appel à vos connaissances et à votre aide.
Je vous remercie :)

mood
Publicité
Posté le 05-12-2002 à 18:59:02  profilanswer
 

n°262327
BifaceMcLe​OD
The HighGlandeur
Posté le 05-12-2002 à 19:30:03  profilanswer
 

Le plus simple, c'est d'utiliser les sockets. L'avantage, c'est que les 2 programmes pourront fonctionner qu'ils tournent sur la même machine ou sur 2 machines différentes.
 
Maintenant, si tu veux utiliser autre chose que les sockets, il y a la combinaison blocs de mémoire partagée/mutex. Là, c'est sûr, les 2 programmes ne pourront tourner que s'ils sont sur la même machine.

n°262330
vanik
Posté le 05-12-2002 à 19:36:48  profilanswer
 

merci de repondre...
 
 
nan je ne dois pas utiliser de socket.
quant aux mutex, j'en suis pas encore là :cry: n'y'a-t-il pas un autre moyen? quelle serait la syntaxe qui pourrait faire ca plizzzzzzzz :sweat:  
 
merci

n°262375
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 05-12-2002 à 20:23:13  profilanswer
 

et pourquoi pas des pipe, des signaux et de la mémoire partégée?


---------------
du bon usage de rand [C] / [C++]
n°262839
BENB
100% Lux.
Posté le 06-12-2002 à 11:45:05  profilanswer
 

Si les echanges sont limitées -> messages
si les echanges sont plus important segment de memoire partagée (avec semaphores)
 
et bien sur les sockets qui marcheront meme si les deux progs sont sur la meme machine.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Faire communiquer 2 programmes sur une mm machine

 

Sujets relatifs
[http] comment se fait une requette GET poru une machine d un domaine?Est-ce que les programmes dev sous Powerbuilder...
compilateur en code machineComment Recuperer l'adresse IP d'une machine en C++ ?
Programmes sur calculatrice[PHP] Problème de configuration de PHP sur ma machine
Sockets: bouffe du temps machine?Rendre disponible une macro sur plusieur machine d'un meme reseau
nom de machineFaire cohabiter sur une même machine, 2 JDK..
Plus de sujets relatifs à : Faire communiquer 2 programmes sur une mm machine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR