sysrep:rpc
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
sysrep:rpc [2012/11/21 15:05] – created orel | sysrep:rpc [2024/03/18 15:06] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== TP RPC ====== | ====== TP RPC ====== | ||
+ | Vous disposez de documentation dans le manuel Unix (man rpc, man xdr), ainsi que des documents suivants : {{: | ||
+ | |||
+ | FIXME : //rpcbind (la nouvelle implantation du portmapper) ne fonctionne qu'en mode superuser et n' | ||
- | Vous disposez de documentation dans le répertoire doc/ ainsi que du man. | ||
==== Exercice 1 (calculation) ==== | ==== Exercice 1 (calculation) ==== | ||
Line 9: | Line 11: | ||
On vous fourni l' | On vous fourni l' | ||
- | * Programmer cet exemple. Pour générer tout le code source (client, | + | <code c calculation.x> |
- | | + | struct two_int { |
- | | + | |
- | | + | |
+ | }; | ||
+ | program CALCULATION_PROG { | ||
+ | version CALCULATION_VERS_BASE { | ||
+ | int sum(two_int)=1; | ||
+ | }=1; | ||
+ | }=0x20000000; | ||
+ | </ | ||
+ | * Programmer cet exemple. Pour générer tout le code source (client, serveur, makefile, stubs), vous pouvez utilisez la commande suivante : " | ||
* Compiler : make -f makefile.calculation. | * Compiler : make -f makefile.calculation. | ||
- | + | | |
- | | + | |
- | | + | |
* Analyser le résultat de la commande " | * Analyser le résultat de la commande " | ||
- | + | | |
- | | + | * Ajouter maintenant de nouvelles fonctions à votre service " |
- | | + | |
- | | + | |
- | + | ||
- | * Ajouter maintenant de nouvelles fonctions à votre service | + | |
- | | + | |
====Exercice 2 (rwall)==== | ====Exercice 2 (rwall)==== | ||
- | |||
A partir de l' | A partir de l' | ||
+ | |||
+ | <code c rwall.x> | ||
+ | program WALLPROG { | ||
+ | version WALLVERS { | ||
+ | void WALLPROC_WALL(string) = 2; | ||
+ | } = 1; | ||
+ | } = 0x20000008; | ||
+ | </ | ||
* Implanter rapidement ce service. | * Implanter rapidement ce service. | ||
+ | * Ecrire maintenant un client pour le service " | ||
+ | * Ecrire maintenant un serveur pour le service " | ||
- | * Ecrire maintenant un client pour le service " | + | __Nota Bene__ : cf. man rpc |
- | pas les souches générées, | + | |
- | * Ecrire maintenant un serveur pour le service " | + | ====Exercice 3 (authentification)==== |
- | n' | + | |
- | " | + | |
- | Nota Bene : cf. man rpc | + | On vous fourni l' |
- | ====Exercice 3 (authentification)==== | + | <code c hello.x> |
- | + | program HELLOPROG { | |
- | On vous fourni l' | + | version HELLOVERS { |
- | world!" | + | string HELLO(void) = 1; |
+ | } = 1; | ||
+ | } = 0x30000824; | ||
+ | </ | ||
* Implantez rapidement ce service. | * Implantez rapidement ce service. | ||
- | + | | |
- | | + | * Modifiez le serveur pour qu'il accepte uniquement les clients utilisant l' |
- | | + | * Que pensez-vous de ce système d' |
- | + | ||
- | * Modifiez le serveur pour qu'il accepte uniquement les clients | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | * Que pensez-vous de ce système d' | + | |
- | | + | |
- | | + |
sysrep/rpc.1353510327.txt.gz · Last modified: 2024/03/18 15:05 (external edit)