ONC-RPC y utilizando las rutinas de la capa intermedia, esta tiene que doblar el numero que se le pase por parámetro. Me da una violación de segmento core los tres codigos que tengo son los siguientes:
calculo.h
Código:
clientesuma.c#define PROGRAMA2 0X20000002 #define VERSION2 1 #define SUMA 1 #define RESTA 2 #define DOBLAR 3
Código:
servidorsuma.c#include <stdlib.h> #include <stdio.h> #include <rpc/rpc.h> #include "calculo.h" int main (int argc,char * argv[]) { int num= atoi(argv[1]) ; static int resultado; callrpc("localhost",PROGRAMA2,VERSION2,DOBLAR,xdr_int,&num,xdr_int,&resultado); printf("doblar=%d\n",&resultado); }
Código:
Haber si veis donde tengo el error os lo agradecería mucho #include <stdlib.h> #include <stdio.h> #include "calculo.h" #include <rpc/rpc.h> int * doblar(int numero) { static int resul; resul= numero*2; printf("%d\n",numero); return &resul; } int main (int argc,char * argv[]) { registerrpc(PROGRAMA2,VERSION2,DOBLAR,doblar,xdr_int,xdr_int); svc_run(); }