Communication entre 2 programmes

Communication entre 2 programmes - C++ - Programmation

Marsh Posté le 21-09-2005 à 10:33:53    

Bonjour,
J'ai 2 programmes existant qui se partage des données par le réseaux. Le tout est sous windows
 
L'un fonctionne seul; on l'appelera prog1.
Et l'autre fonctionne avec une dll; on l'appelera prog2.
Je n'ai accès aux sources que du prog 1 et de la dll.
 
Actuellement, le mode de communication utilisé est les sockets entre prog1 et la dll.
 
 
Les 2 programmes vont prochainement tourner sur la meme machine.
J'ai effectué des tests a priori ca fonctionne en mettant comme IP : 127.0.0.1 mais cela fou en l'air le réseau de la machine (ou plutot du serveur :sweat: Windows Serveur 2003) : Temps d'accès plus long,...j'en sais pas plus...y'a des cons dans chaque boites. Mon programme n'est pas le seul a tourner sur la machine.
 
On me demande de reprogrammer l'appli en passant par un autre mode de communication et en utilisant la mémoire partagée.
 
Quelle serait la solution la plus rapide a mettre en place?
- utilisation des sémaphores/mutex (fodra que je me documente dessus...)
- pipe et signaux (idem)
- résoudre le pb en gardant les socket
- autre
 
Voila si vous pouvez m'aider un peu, ca serait fort simpathique :hello:

Reply

Marsh Posté le 21-09-2005 à 10:33:53   

Reply

Marsh Posté le 21-09-2005 à 14:23:45    

Les sémaphores c'est pour de la synchro, ça permet pas de faire de l'IPC.
Le plus rapide c'est la mémoire partagée (fichier mappé).
http://msdn.microsoft.com/library/ [...] ations.asp
mais si tu as déjà codé les sockets, faudrait chercher un peu le problème. A ta place, je commencerai par désactiver tous les firewall, antivirus, et autre machin de "protection fiable", juste pour voir...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 21-09-2005 à 15:24:36    

Le problème c'est que ce n'est pas moi qui gère le serveur et on nous force pour en acheter un autre rackable alors que notre appli n'a pas besoin d'une telle ressource...
Visiblement, sur le serveur il n'y a pas de firewall juste un matériel sur le réseau.
Ce n'est meme pas moi qui installe mon soft et qui regarde les perfs. J'essaye de forcer un peu le gars qui s'en occupe mais bon...
 
Merci pour ta réponse et le lien, je pense m'orienter vers cela si la décision définitive de reprogrammer l'appli est voté.

Reply

Marsh Posté le 21-09-2005 à 17:32:48    

Sinon tu peux aussi transformer prog1 en dll que prog2 utilisera.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Sujets relatifs:

Leave a Replay

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