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

 


Dernière réponse
Sujet : [c/c++] IPC -> ?
SoWhatIn22 avant de ma lancer dans plus de recherches, est-ce que qq1 peut me dire si CORBA (ou DCOM sous win) n'est pas une piste à explorer.
 
qq1 peut m'éclairer?
 
merci d'avance.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
SoWhatIn22 avant de ma lancer dans plus de recherches, est-ce que qq1 peut me dire si CORBA (ou DCOM sous win) n'est pas une piste à explorer.
 
qq1 peut m'éclairer?
 
merci d'avance.
SoWhatIn22 alors voila:
 
> -les semaphores
ok, c pour la synchronisation. j'utilise deja, dc pas de soucis
 
> -la memoire partagé
ca je n'ai pas encore vraiment regardé
 
> -les message queues
> -les pipes
 
pour les messages par exemple. Le soucis, c'est que pour envoyer un message à un processus, il faut quand même connaitre son identifiant. Et cela, c'est l'OS qui le donne, donc on ne peut pas le connaitre à l'avance.
 
Pour les pipes, c'est un peu le même soucis. oki, sous windows, tu as les 'named pipes', donc tu peux t'en sortir avec ça, si ce n'est que du coup, un seul processus client va pouvoir se connecter en même temps.
 
Donc mon interrogation reste complete ;(
aqwsezsxdr les IPC==Inter processus comunication, sous unix regroupent:
-les semaphores
-la memoire partagé
-les message queues
-les pipes
 
le gros probleme, c'est que l'implementation de ces concepts n'est pas tres portable. En pratique, dans ton cas il faudrait utiliser une semaphore pour synchroniser l'acces à la ressource partagé. Pour unix, c'est simple : tu utilise semget, semop, semctl (cf un man pour les param). Pour windows, t'as egalement la notion de semaphore: createsemaphore, opensemaphore...
 
D'un autre coté, tu peux tres bien utiliser une socket (socket !=IPC) mais la difficulté c'est que tu va devoir gerer à la main un protocole de synchronisation ...
SoWhatIn22 hello,
 
voici mon interrogation du jour:
 
supposons que l'on veuille faire un programme qui fonctionne sur le principe suivant:
 
On commence par lancer un serveur, ou plus précisément un démon.
Puis depuis n'importe quel autre programme client, on veut pouvoir s'adresser à ce demon, pour lui faire executer une tache, et avoir une réponse.
 
Un exemple:
souvent, quand on utilise une API d'un constructeur quelconque, il y a un démon qui se lance (soit de façon automatique au démarage (un service sous NT), soit manuellement par l'utilisateur). Dans le programme client, on inclue une librairie fournie par le constructeur en question, et on commence par reserver des ressources ou autre. Il y a donc une communication entre les 2 processus, mais de façon completement transparente pour le programmeur.
 
Il y a clairement des IPC la dessous, mais ce n'est qu'un terme assez vague. J'imagine une solution à base de sockets, ou le serveur et le client connaissent à l'avance leur numéro de port.
Mais sans cela -> ???
 
 
Si quelqu'un pouvais m'éclairer sur le sujet.
merci d'avance ;)

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)