pb pour passer un structure avec le protocole XDR

pb pour passer un structure avec le protocole XDR - C - Programmation

Marsh Posté le 11-11-2004 à 20:15:13    

j'ai crée un structure composé de deux chaines de caractère.
 
j'utilise le protocole XDR pour l'encoder.
quand je fais l'appel de ma procedure RPC.
ça me marque segmentation fault.
 
si une personne pouvais m'aider.
 
 

Reply

Marsh Posté le 11-11-2004 à 20:15:13   

Reply

Marsh Posté le 11-11-2004 à 20:23:22    

mince alors

Reply

Marsh Posté le 11-11-2004 à 20:25:37    

t'as bien fait la définition de ta struct ?

Reply

Marsh Posté le 11-11-2004 à 20:26:30    

l'encodage xdr :
 
int xdr_test(XDR *xdrs , struct test *mot)
{
return (xdr_wrapstring(xdrs, &mot->f1) && xdr_wrapstring(xdrs,&mot->f2))
}


Message édité par gillousse le 11-11-2004 à 20:30:20
Reply

Marsh Posté le 11-11-2004 à 20:31:11    

definitio de la struture
 
struct test { char *f1,*f2 } ;

Reply

Marsh Posté le 11-11-2004 à 20:34:35    

t'utilises XDR comme ça ? tu fais pas de RPC ? parce que rpcgen fais tout si tu lui déclares tes structs ?
 
ton XDR il est bien alloué et initialisé ? tes chaines, elles sont valides ? :o

Reply

Marsh Posté le 11-11-2004 à 20:37:18    

comment on utilise rpcgen
 

Reply

Marsh Posté le 11-11-2004 à 20:39:49    

tu as une adresse email msn pour m'explquer ça ira plus vite.

Reply

Marsh Posté le 11-11-2004 à 20:45:24    

:bounce:

Reply

Marsh Posté le 11-11-2004 à 21:03:51    

NON J'AI PAS
 

Code :
  1. #include <stdio.h>
  2. #include <rpc/types.h>
  3. #include <rpc/xdr.h>
  4. int main(int argc, char *argv [])
  5. {
  6. XDR stream;
  7. xdrstdio_create(&stream, stdout, XDR_ENCODE);
  8. while (*++argv)
  9. {
  10.  xdr_wrapstring(& stream, argv);
  11. }
  12. xdr_destroy(& stream);
  13. return 0;
  14. }

un exemple sain d'utilisation de xdr_wrapstring
 
pour utiliser rpcgen, il doit te falloir sur google pour trouver un exemple complete.

Reply

Marsh Posté le 11-11-2004 à 21:03:51   

Reply

Marsh Posté le 11-11-2004 à 21:08:31    

Qu'il est chou ce Taz :)


Message édité par Chronoklazm le 11-11-2004 à 21:08:44
Reply

Marsh Posté le 11-11-2004 à 21:24:21    

Code :
  1. struct MSNID
  2. {
  3.         int id;
  4.         string login<32>;
  5. };
  6. program MSN
  7. {
  8.         version VERSION
  9.                 {
  10.                          MSNID MSN_who_am_i(void) = 1;
  11.                 } = 1;
  12. } = 1234567890;


 
rpcgen -a -M msn.x
#édition des fichiers
make -f Makefile.msn
 
et c'est terminé, t'as le client et le serveur

Reply

Marsh Posté le 11-11-2004 à 21:47:40    

merci  
je vais essayé de me debrouiller aevc ça.

Reply

Sujets relatifs:

Leave a Replay

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