begin process at 2012 05 28 08:47:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

client/serveur ( comment dedoubler un meme programme en client et serveur)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

client/serveur ( comment dedoubler un meme programme en client et serveur)

vendredi 20 février 2004 à 18:12:00 | client/serveur ( comment dedoubler un meme programme en client et serveur)

herve_blondel



salut a tous !
je suis entrain de faire un projet de simulateur du protocol RIP et voici ce qui me casse la tete.
en fait, sur un poste je dois simuler plusieur routeurs connecte entre eux. donc chaque routeur a une partie client et une partie serveur. voici ce que j'ai donc bricole.

....
.....
/*
definition des variable globale ici
....
*/

int main{
/*
definition de qques variable locale
*/

if(!fork()){
partie ou fonction qui sert de client:
ici,chaque 30 seconde,le client envoi un message au serveur
d'un autre routeur.
dont ici,il y'a une boucle infini.
c'est pourkoi j'ai dedoubler le programme avec fork().

}
{ partie du serveur
/*
initialisation des donnes pour le serveur.

*/

while(1){
accepte la connection cree un fils qui traite la requete
et retoune attendre les connextions.
if(!for()){
le fils execute la tache et se termine.
}

}//fin du serveur

}// fin du programme.

mon probleme est que lorsque j'utilise fork() pour dedoubler le programme en serveur et client, je constate qu'il y'a vraiment separation ( et je ne voulais pas que ce soit ainsi) car les variables globales modifiees par le client ne sont pas vus par le serveur et vice versa. tout ce passe comme si j'avais deux programmes distint pourtant,mon serveur doit utiliser les variable goblale modifier par le client: comme faire ? j'ai aussi entendu parler des threads mais je ne sais pas comment ca fonction ni comment l'utiliser.
je voudrais que quelqu'un me fasse une eboche d'un programme qui se divise en deux mais chaqu'une des parties pouvant modifier une meme variable globale( pas une copie de la variable).
merci et excusez moi de la longueur.je suis un debutant en c++.


vendredi 20 février 2004 à 18:18:16 | Re : client/serveur ( comment dedoubler un meme programme en client et serveur)

BruNews

Administrateur CodeS-SourceS
Sur win32 et pour un meme exe lance plusieurs fois.

#pragma data_seg("Shared")
int g_v1 = 0; // une var globale
// les autres a suivres

#pragma data_seg()
#pragma comment(linker, "/section:Shared,rws")

et tu t'en sers comme d'hab.

ciao...
BruNews, Admin CS, MVP Visual C++
jeudi 26 février 2004 à 14:52:50 | Re : client/serveur ( comment dedoubler un meme programme en client et serveur)

herve_blondel


merci pour la reponse mais ca ne marche pas sous Linux.en fait j'avais mal pose ma question.
l je voudrais ceci:

#pragma data_seg("Shared")
int g_v1 = 0; // une var globale

#pragma data_seg()
#pragma comment(linker, "/section:Shared,rws")


int main(){

if(!fork()){
while(1){
sleep(8);
g_v1++;
cout<<"dans client"<<g_v1<<endl;
}
}
while(1){
sleep(20);
cout<<g_v1<<endl;
}
return 0;
}

juste pour faire comprendre ce que je voudrais:

dans ce petit code, apres la duplication du programme, la variable g_v1 modifiee(incrementee)dans le premier while n'ai pas vu dans le second while(en fait,dans le second while,l'affichage est toujours 0) mon pb c'est que je voudrais que la modification de g_v1 soit vu dans les deux while.
s'il y'a une idee,n'esiter pas. merci.



Cette discussion est classée dans : programme, variable, serveur, client, dedoubler


Répondre à ce message

Sujets en rapport avec ce message

Aide pour programmation de socket en C sous unix [ par badjess ] Salut a Tous,Je suis un novice en programmation en Socket en sous environnement Linux. Aussi, j'ai essayé de trouver des programmes client serveur sur Vitesse / WinSock [ par RLBDC ] YopYop tlm !Bien, voilà , étant encore un peu "newbie" dans le C++ , je me suis lancé dans la programmation d'un jeu de pong basique en réseau .Mon pr application client serveur avec les socket en c [ par zizodev ] Bonjour à tous,mon problème est comment créer une application 'qui demande'.Programme client et autre serveur client  'qui demande' :Pour se connecter programme socket client/serveur dans seul ficier [ par hanane7575 ] bonjour tout le monde, j'au une ptite problem j'ai deja faire un programme client/serveur qui permet de transfers des fichies a ce niveau la tt passe programme client serveur [ par titimzora ] bonjour tt le mondej'ai besoin d'un programme permettant l'envoie d'un fichier texte  LIGNE par LIGNE d'un serveur vers un client (communication entre sockets [ par coucoumiya ] bonjour, moi je travaille avec les sockets sous le procole de transmission TCP/IP. mon client est programmé avec Builderc++ sous windows. mon serveur comprendre le code source de NetCat [ par dyroj ] bonjour a tous,il y a quelques temps que jessaye de comprendre le system qu'utilise l'outil netcat pour pour la communication reseau.Fonctionement de Aide sur un mini projet [ par marwaboulifi ] je besoin d'aide pour faire une application c sous linux Le but de ce mini-projet est de développer une application client serveur permettant la gest


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,373 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales