Programmation client serveur en c
Fermé
Bonjour a tous
je vais savoir comment ça se passe la communication entre un client et un serveur en csur linux via la segment de mémoire partagé en utilisant le sémaphore svp si vous avez une idée n'hésitez pas de m'aider
par ce que j'arrive pas a programmé cette partie et j'ai pas encore suffisamment de temps pour faire ça
merci
je vais savoir comment ça se passe la communication entre un client et un serveur en csur linux via la segment de mémoire partagé en utilisant le sémaphore svp si vous avez une idée n'hésitez pas de m'aider
par ce que j'arrive pas a programmé cette partie et j'ai pas encore suffisamment de temps pour faire ça
merci
A voir également:
- Programmation client serveur en c
- Cybera client - Télécharger - Divers Réseau & Wi-Fi
- Changer serveur dns - Guide
- Filezilla client - Télécharger - Téléchargement & Transfert
- Application de programmation - Guide
- Serveur pop - Guide
2 réponses
Bonjour,
Ca ressemble à un exercice. On t'a probablement donné des fiches ou des liens vers les bibliothèques qui permettent la manipulation de la mémoire partagée et des sémaphores. Je t'explique uniquement le principe général.
L'idée est de démarrer un processus et de déclarer un segment de mémoire partagée. Ensuite, tu forkes : chacun des deux processus est alors capable d'accéder à la sharedmem. Toutefois, pour éviter qu'ils n'y accèdent en même temps et te retrouver ainsi avec des comportements bizarres, il faut protéger le moment où chaque programme accède à la mémoire. On appelle cela des sections de code critique. C'est à cela que vont te servir les sémaphores :
1) Prise du sémaphore ;
2) Accès au segment de mémoire en lecture et/ou écriture ;
3) Relâche du sémaphore.
Ca ressemble à un exercice. On t'a probablement donné des fiches ou des liens vers les bibliothèques qui permettent la manipulation de la mémoire partagée et des sémaphores. Je t'explique uniquement le principe général.
L'idée est de démarrer un processus et de déclarer un segment de mémoire partagée. Ensuite, tu forkes : chacun des deux processus est alors capable d'accéder à la sharedmem. Toutefois, pour éviter qu'ils n'y accèdent en même temps et te retrouver ainsi avec des comportements bizarres, il faut protéger le moment où chaque programme accède à la mémoire. On appelle cela des sections de code critique. C'est à cela que vont te servir les sémaphores :
1) Prise du sémaphore ;
2) Accès au segment de mémoire en lecture et/ou écriture ;
3) Relâche du sémaphore.
merci bcp;
svp est ce que vous avez des lien ou bien des programme qui explique qui va créer le segment de mémoire partagé le client ou bien le serveur ou bien les deux
et combien je déclare des segments de mémoires partagé 1 ou bien deux
1 pour le question
1 pour le réponse
merci
svp est ce que vous avez des lien ou bien des programme qui explique qui va créer le segment de mémoire partagé le client ou bien le serveur ou bien les deux
et combien je déclare des segments de mémoires partagé 1 ou bien deux
1 pour le question
1 pour le réponse
merci
Il faut que tu crées le segment de mémoire partagée avant le fork, de manière à ce qu'ensuite, aussi bien le client que le serveur garde un pointeur sur ce segment.
Quant au nombre de segments, je pense que le plus propre est de déclarer une struct contenant question et réponse, puis de déclarer un seul segment de la taille de cette struct.
Si tu cherches des exemples, tu devrais en trouver avec les mots-clefs shared memory example sous ton moteur de recherche.
Quant au nombre de segments, je pense que le plus propre est de déclarer une struct contenant question et réponse, puis de déclarer un seul segment de la taille de cette struct.
Si tu cherches des exemples, tu devrais en trouver avec les mots-clefs shared memory example sous ton moteur de recherche.