Communication entre 2 applications sous Linux ? - C++ - Programmation
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
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.
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.
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.
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 ?
Marsh Posté le 02-04-2005 à 12:13:10
el muchacho a écrit : VOIR LE SITE DE SVE@R !! |
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
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)
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.