Communication entre 2 applications sous Linux ?

Communication entre 2 applications sous Linux ? - C++ - Programmation

Marsh Posté le 31-03-2005 à 22:41:08    

Bonjour,
Je viens de commencer à faire de la programmation sous Linux en C++. Je viens juste d'installer le plugin CDT pour Eclipse et ca fonctionne à merveille.
Je voudrais savoir s'il est possible que 2 applications communiquent entre elles sous Linux ? Si oui, commment ?
 
Merci d'avance.

Reply

Marsh Posté le 31-03-2005 à 22:41:08   

Reply

Marsh Posté le 31-03-2005 à 22:46:15    

Oui, il y a beaucoup de méchanismes (mémoire partagée, sockets, files de messages, signaux, pipes, fifos, etc.)
Tout est regroupé sous le nom commun "IPC": Inter-process communication.
 
http://www.google.com/search?q=int [...] munication
 

Reply

Marsh Posté le 31-03-2005 à 23:34:04    

Merci de ta réponse. Pourrais me dire stp lequel est le meilleur ? Si tu as aussi des tutoriaux en francais je suis preneur.

Reply

Marsh Posté le 01-04-2005 à 08:51:17    

Il n'y en a pas de meilleur.  
 
Mais, souvent, on préfère utiliser les sockets (c'est tout simplement, pour schématiser beaucoup: communiquer via internet). Comme ça, deux programmes sur la même machine peuvent communiquer ensemble, mais également 2 programmes sur des machines distantes, comme ton browser Web et le Apache de hardware.fr.
D'ailleurs, les communications via sockets sont souvent optimisées pour ne pas traverser toute la pile TCP/IP si tu restes sur la même machine.
 
Par contre, si tu as besoin d'échanger beaucoup de données entre 2 programmes et que ça aille le plus vite possible (ce qui est finalement pas si fréquent que ça), la mémoire partagée est ce qu'il y a de plus rapide (mais aussi de plus pointu, puisqu'il faut gérer les synchronisations à la main).
 
Pour le reste, je te laisse chercher, google est ton ami.

Reply

Marsh Posté le 01-04-2005 à 10:11:57    

LeParrain a écrit :

Merci de ta réponse. Pourrais me dire stp lequel est le meilleur ? Si tu as aussi des tutoriaux en francais je suis preneur.


Sv@er ici présent en a écrit un. Voir sur son site.

Reply

Marsh Posté le 01-04-2005 à 23:04:06    

Est ce que c'est possibles de sérialiser des objets pour les faires passer par des sockets ?

Reply

Marsh Posté le 02-04-2005 à 09:06:52    

VOIR LE SITE DE SVE@R !!
http://www.frederic-lang.fr.fm/

Reply

Marsh Posté le 02-04-2005 à 12:13:10    


 
Rubrique "Mes cours"
- cours sur les processus (qui explique aussi les pipe)
- cours sur les IPC
- cours sur les sockets
 
Le Parrain:
- les pipes ont l'avantage d'être automatiquement synchronisés (on peut pas écrire si personne ne lit) et sont très rapide mais sont limités en taille (on peut pas y mettre plus de 1K (ou 4K dans les dernières versions) de données)
- les IPC demandent un travail plus poussé (gérer soi-même quand on peut lire)
- les sockets permettent d'implémenter deux programmes qui pourront communiquer sur la même machine ou des machines distantes
 
el muchacho :love:  :love:  :love:  :D

Reply

Marsh Posté le 02-04-2005 à 12:15:29    

LeParrain a écrit :

Est ce que c'est possibles de sérialiser des objets pour les faires passer par des sockets ?


 
En PHP c'est possible. En C (ou C++) faut que tu te paluches toi-même ta fonction "serialize" (qui correspond à une simple transcription en octet de ton objet)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed